diff --git a/packages/@headlessui-react/CHANGELOG.md b/packages/@headlessui-react/CHANGELOG.md
index 881f29fd4..1c661014c 100644
--- a/packages/@headlessui-react/CHANGELOG.md
+++ b/packages/@headlessui-react/CHANGELOG.md
@@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Use correct `ownerDocument` when using internal `` element ([#3594](https://github.com/tailwindlabs/headlessui/pull/3594))
- Bump `@tanstack/react-virtual` to be fix warnings in React 19 projects ([#3588](https://github.com/tailwindlabs/headlessui/pull/3588))
+- Fix `aria-invalid` attributes to have a valid `'true'` value ([#3639](https://github.com/tailwindlabs/headlessui/pull/3639))
## [2.2.0] - 2024-10-25
diff --git a/packages/@headlessui-react/src/components/input/input.tsx b/packages/@headlessui-react/src/components/input/input.tsx
index e4665dc22..b582d0080 100644
--- a/packages/@headlessui-react/src/components/input/input.tsx
+++ b/packages/@headlessui-react/src/components/input/input.tsx
@@ -66,7 +66,7 @@ function InputFn(
id,
'aria-labelledby': labelledBy,
'aria-describedby': describedBy,
- 'aria-invalid': invalid ? '' : undefined,
+ 'aria-invalid': invalid ? 'true' : undefined,
disabled: disabled || undefined,
autoFocus,
},
diff --git a/packages/@headlessui-react/src/components/select/select.tsx b/packages/@headlessui-react/src/components/select/select.tsx
index 82d0653a3..3327b3163 100644
--- a/packages/@headlessui-react/src/components/select/select.tsx
+++ b/packages/@headlessui-react/src/components/select/select.tsx
@@ -69,7 +69,7 @@ function SelectFn(
id,
'aria-labelledby': labelledBy,
'aria-describedby': describedBy,
- 'aria-invalid': invalid ? '' : undefined,
+ 'aria-invalid': invalid ? 'true' : undefined,
disabled: disabled || undefined,
autoFocus,
},
diff --git a/packages/@headlessui-react/src/components/textarea/textarea.tsx b/packages/@headlessui-react/src/components/textarea/textarea.tsx
index 77dd67194..da3acb205 100644
--- a/packages/@headlessui-react/src/components/textarea/textarea.tsx
+++ b/packages/@headlessui-react/src/components/textarea/textarea.tsx
@@ -66,7 +66,7 @@ function TextareaFn(
id,
'aria-labelledby': labelledBy,
'aria-describedby': describedBy,
- 'aria-invalid': invalid ? '' : undefined,
+ 'aria-invalid': invalid ? 'true' : undefined,
disabled: disabled || undefined,
autoFocus,
},