diff --git a/.changeset/gorgeous-bottles-bow.md b/.changeset/gorgeous-bottles-bow.md
new file mode 100644
index 0000000000..becda2e767
--- /dev/null
+++ b/.changeset/gorgeous-bottles-bow.md
@@ -0,0 +1,5 @@
+---
+'react-select': patch
+---
+
+`required` prop accessibiltiy and functionality improvements
diff --git a/packages/react-select/src/Select.tsx b/packages/react-select/src/Select.tsx
index 9a029f31b0..16daa33094 100644
--- a/packages/react-select/src/Select.tsx
+++ b/packages/react-select/src/Select.tsx
@@ -2022,12 +2022,12 @@ export default class Select<
const { delimiter, isDisabled, isMulti, name, required } = this.props;
const { selectValue } = this.state;
- if (!name || isDisabled) return;
-
- if (required && !this.hasValue()) {
+ if (required && !this.hasValue() && !isDisabled) {
return ;
}
+ if (!name || isDisabled) return;
+
if (isMulti) {
if (delimiter) {
const value = selectValue
diff --git a/packages/react-select/src/internal/RequiredInput.tsx b/packages/react-select/src/internal/RequiredInput.tsx
index 2d419f923b..834dfca3b3 100644
--- a/packages/react-select/src/internal/RequiredInput.tsx
+++ b/packages/react-select/src/internal/RequiredInput.tsx
@@ -3,13 +3,14 @@ import { FocusEventHandler, FunctionComponent } from 'react';
import { jsx } from '@emotion/react';
const RequiredInput: FunctionComponent<{
- readonly name: string;
+ readonly name?: string;
readonly onFocus: FocusEventHandler;
}> = ({ name, onFocus }) => (