Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Allow `@tailwindcss/cli` in `--watch` mode to use polling with `--poll` when filesystem events are unreliable or unavailable ([#20297](https://github.com/tailwindlabs/tailwindcss/pull/20297))
- Canonicalization: match arbitrary hex colors against theme colors case-insensitively (e.g. `bg-[#fff]` and `bg-[#FFF]` → `bg-white`) ([#20298](https://github.com/tailwindlabs/tailwindcss/pull/20298))
- Prevent Preflight from overriding Firefox's native `iframe:focus-visible` outline styles ([#20292](https://github.com/tailwindlabs/tailwindcss/pull/20292))

## [4.3.2] - 2026-06-26

Expand Down
2 changes: 1 addition & 1 deletion integrations/cli/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2903,7 +2903,7 @@ test(
border-color: inherit;
border-collapse: collapse;
}
:-moz-focusring {
:-moz-focusring:where(:not(iframe)) {
outline: auto;
}
progress {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ exports[`\`@import 'tailwindcss'\` is replaced with the generated CSS 1`] = `
border-collapse: collapse;
}

:-moz-focusring {
:-moz-focusring:where(:not(iframe)) {
outline: auto;
}

Expand Down
2 changes: 1 addition & 1 deletion packages/tailwindcss/preflight.css
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ table {
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
:-moz-focusring:where(:not(iframe)) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Preflight Snapshots Stay Stale

This selector changes the generated Preflight CSS, but the checked-in expected outputs still contain the old :-moz-focusring rule. The Preflight and CLI tests that compare generated CSS can fail with a snapshot mismatch until those expected outputs are updated.

Comment thread
greptile-apps[bot] marked this conversation as resolved.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Snapshot Still Stale The generated Preflight output now contains :-moz-focusring:where(:not(iframe)), but the CLI integration inline snapshot still expects :-moz-focusring {. When that CLI test compares the generated CSS against the inline snapshot, it can still fail with a snapshot mismatch. Please update the remaining inline snapshot along with the checked-in snapshot files.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 CLI Snapshot Still Stale

The generated Preflight selector changed here, but the CLI integration inline snapshot still expects :-moz-focusring { for the @import 'tailwindcss' output. When that test compares the generated CSS, it will receive :-moz-focusring:where(:not(iframe)) { and fail the snapshot match. Please update the remaining CLI inline snapshot with this selector change.

outline: auto;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ exports[`compiling CSS > prefix all CSS variables inside preflight 1`] = `
border-collapse: collapse;
}

:-moz-focusring {
:-moz-focusring:where(:not(iframe)) {
outline: auto;
}

Expand Down
4 changes: 2 additions & 2 deletions packages/tailwindcss/src/source-maps/source-map.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -338,8 +338,8 @@ test('source maps trace back to @import location', async ({ expect }) => {
^^^^^^^^^^^^^^^^^^^^^^^^^ CS @ 73:4-29 | ^^^^^^^^^^^^^^^^^^^^^^^^^ CS @ 166:2-27
| 167 }
74 } |
75 :-moz-focusring { | 173 :-moz-focusring {
^^^^^^^^^^^^^^^^ CT @ 75:2-18 | ^^^^^^^^^^^^^^^^ CT @ 173:0-16
75 :-moz-focusring:where(:not(iframe)) { | 173 :-moz-focusring:where(:not(iframe)) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ CT @ 75:2-38 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ CT @ 173:0-36
76 outline: auto; | 174 outline: auto;
^^^^^^^^^^^^^ CU @ 76:4-17 | ^^^^^^^^^^^^^ CU @ 174:2-15
| 175 }
Expand Down