diff --git a/packages/@headlessui-react/CHANGELOG.md b/packages/@headlessui-react/CHANGELOG.md index 64272c385a..29aa92a021 100644 --- a/packages/@headlessui-react/CHANGELOG.md +++ b/packages/@headlessui-react/CHANGELOG.md @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Ensure we are not freezing data when the `static` prop is used ([#3779](https://github.com/tailwindlabs/headlessui/pull/3779)) - Ensure `onChange` types are contravariant instead of bivariant ([#3781](https://github.com/tailwindlabs/headlessui/pull/3781)) +- Support `
` as a focusable element without `` ([#3389](https://github.com/tailwindlabs/headlessui/pull/3389)) +- Support `` as a focusable element inside `
` ([#3389](https://github.com/tailwindlabs/headlessui/pull/3389)) ## [2.2.7] - 2025-07-30 diff --git a/packages/@headlessui-react/src/test-utils/interactions.ts b/packages/@headlessui-react/src/test-utils/interactions.ts index 5b04ecfebd..7a890d7231 100644 --- a/packages/@headlessui-react/src/test-utils/interactions.ts +++ b/packages/@headlessui-react/src/test-utils/interactions.ts @@ -489,6 +489,8 @@ let focusableSelector = [ 'iframe', 'input:not([disabled])', 'select:not([disabled])', + 'details:not(:has(> summary))', + 'details>summary', 'textarea:not([disabled])', ] .map( diff --git a/packages/@headlessui-react/src/utils/focus-management.ts b/packages/@headlessui-react/src/utils/focus-management.ts index bbc2043d25..c1a5e5dd9a 100644 --- a/packages/@headlessui-react/src/utils/focus-management.ts +++ b/packages/@headlessui-react/src/utils/focus-management.ts @@ -15,6 +15,8 @@ export let focusableSelector = [ 'iframe', 'input:not([disabled])', 'select:not([disabled])', + 'details:not(:has(> summary))', + 'details>summary', 'textarea:not([disabled])', ] .map( diff --git a/packages/@headlessui-vue/CHANGELOG.md b/packages/@headlessui-vue/CHANGELOG.md index 85e0690116..0b95645209 100644 --- a/packages/@headlessui-vue/CHANGELOG.md +++ b/packages/@headlessui-vue/CHANGELOG.md @@ -18,6 +18,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fix restoring focus to correct element when closing `Dialog` component ([#3365](https://github.com/tailwindlabs/headlessui/pull/3365)) - Cleanup `process` in Combobox component when using virtualization ([#3495](https://github.com/tailwindlabs/headlessui/pull/3495)) - Ensure outside click properly works when clicking SVG elements ([#3777](https://github.com/tailwindlabs/headlessui/pull/3777)) +- Support `
` as a focusable element without `` ([#3389](https://github.com/tailwindlabs/headlessui/pull/3389)) +- Support `` as a focusable element inside `
` ([#3389](https://github.com/tailwindlabs/headlessui/pull/3389)) ## [1.7.22] - 2024-05-08 diff --git a/packages/@headlessui-vue/src/test-utils/interactions.ts b/packages/@headlessui-vue/src/test-utils/interactions.ts index 58418680e9..528055a809 100644 --- a/packages/@headlessui-vue/src/test-utils/interactions.ts +++ b/packages/@headlessui-vue/src/test-utils/interactions.ts @@ -467,6 +467,8 @@ let focusableSelector = [ 'iframe', 'input:not([disabled])', 'select:not([disabled])', + 'details:not(:has(> summary))', + 'details>summary', 'textarea:not([disabled])', ] .map( diff --git a/packages/@headlessui-vue/src/utils/focus-management.ts b/packages/@headlessui-vue/src/utils/focus-management.ts index b607709b1f..5444c872a8 100644 --- a/packages/@headlessui-vue/src/utils/focus-management.ts +++ b/packages/@headlessui-vue/src/utils/focus-management.ts @@ -13,6 +13,8 @@ export let focusableSelector = [ 'iframe', 'input:not([disabled])', 'select:not([disabled])', + 'details:not(:has(> summary))', + 'details>summary', 'textarea:not([disabled])', ] .map(