diff --git a/docs/data/api/menu-trigger.json b/docs/data/api/menu-trigger.json
index 5605811cd..05e73a2a8 100644
--- a/docs/data/api/menu-trigger.json
+++ b/docs/data/api/menu-trigger.json
@@ -2,6 +2,7 @@
"props": {
"className": { "type": { "name": "union", "description": "func
| string" } },
"disabled": { "type": { "name": "bool" }, "default": "false" },
+ "focusableWhenDisabled": { "type": { "name": "bool" }, "default": "false" },
"label": { "type": { "name": "string" } },
"render": { "type": { "name": "union", "description": "element
| func" } }
},
diff --git a/docs/data/translations/api-docs/menu-trigger/menu-trigger.json b/docs/data/translations/api-docs/menu-trigger/menu-trigger.json
index 226048246..814aa3e49 100644
--- a/docs/data/translations/api-docs/menu-trigger/menu-trigger.json
+++ b/docs/data/translations/api-docs/menu-trigger/menu-trigger.json
@@ -5,6 +5,9 @@
"description": "Class names applied to the element or a function that returns them based on the component's state."
},
"disabled": { "description": "If true
, the component is disabled." },
+ "focusableWhenDisabled": {
+ "description": "If true
, allows a disabled button to receive focus."
+ },
"label": { "description": "Label of the button" },
"render": { "description": "A function to customize rendering of the component." }
},
diff --git a/packages/mui-base/src/Checkbox/Root/CheckboxRoot.tsx b/packages/mui-base/src/Checkbox/Root/CheckboxRoot.tsx
index 15bbbfc0f..4e3dcf87b 100644
--- a/packages/mui-base/src/Checkbox/Root/CheckboxRoot.tsx
+++ b/packages/mui-base/src/Checkbox/Root/CheckboxRoot.tsx
@@ -98,7 +98,6 @@ const CheckboxRoot = React.forwardRef(function CheckboxRoot(
extraProps: {
...otherProps,
...otherGroupProps,
- disabled
},
});
diff --git a/packages/mui-base/src/Menu/Trigger/MenuTrigger.tsx b/packages/mui-base/src/Menu/Trigger/MenuTrigger.tsx
index b33b2edad..4e977f9f8 100644
--- a/packages/mui-base/src/Menu/Trigger/MenuTrigger.tsx
+++ b/packages/mui-base/src/Menu/Trigger/MenuTrigger.tsx
@@ -69,6 +69,11 @@ namespace MenuTrigger {
* @default false
*/
disabled?: boolean;
+ /**
+ * If `true`, allows a disabled button to receive focus.
+ * @default false
+ */
+ focusableWhenDisabled?: boolean;
/**
* Label of the button
*/
@@ -98,6 +103,11 @@ MenuTrigger.propTypes /* remove-proptypes */ = {
* @default false
*/
disabled: PropTypes.bool,
+ /**
+ * If `true`, allows a disabled button to receive focus.
+ * @default false
+ */
+ focusableWhenDisabled: PropTypes.bool,
/**
* Label of the button
*/
diff --git a/packages/mui-base/src/Menu/Trigger/useMenuTrigger.ts b/packages/mui-base/src/Menu/Trigger/useMenuTrigger.ts
index e1da262aa..4a69d607f 100644
--- a/packages/mui-base/src/Menu/Trigger/useMenuTrigger.ts
+++ b/packages/mui-base/src/Menu/Trigger/useMenuTrigger.ts
@@ -23,6 +23,7 @@ export function useMenuTrigger(parameters: useMenuTrigger.Parameters): useMenuTr
const { getButtonProps, buttonRef } = useButton({
disabled,
+ focusableWhenDisabled: false,
buttonRef: mergedRef,
});
diff --git a/packages/mui-base/src/Switch/Root/SwitchRoot.tsx b/packages/mui-base/src/Switch/Root/SwitchRoot.tsx
index 3e15e7d1f..40831d0b5 100644
--- a/packages/mui-base/src/Switch/Root/SwitchRoot.tsx
+++ b/packages/mui-base/src/Switch/Root/SwitchRoot.tsx
@@ -59,7 +59,7 @@ const SwitchRoot = React.forwardRef(function SwitchRoot(
className,
propGetter: getButtonProps,
ownerState,
- extraProps: {...other, disabled},
+ extraProps: other,
customStyleHookMapping: styleHookMapping,
ref: forwardedRef,
});