From c9266df11818fc186c2cdefb6262fdb0ad749f93 Mon Sep 17 00:00:00 2001 From: Samuel Hecquet Date: Mon, 13 Dec 2021 16:09:18 +0000 Subject: [PATCH] fix(radio): add aria-describedby to improve accessibility --- packages/radio/src/use-radio.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/radio/src/use-radio.ts b/packages/radio/src/use-radio.ts index 2137bca33b6..16b572bcb83 100644 --- a/packages/radio/src/use-radio.ts +++ b/packages/radio/src/use-radio.ts @@ -70,6 +70,10 @@ export interface UseRadioProps { * @internal */ "data-radiogroup"?: any + /** + * Refers to the `id` of the element that labels the radio element. + */ + "aria-describedby"?: string } export function useRadio(props: UseRadioProps = {}) { @@ -87,6 +91,7 @@ export function useRadio(props: UseRadioProps = {}) { value, id: idProp, "data-radiogroup": dataRadioGroup, + "aria-describedby": ariaDescribedBy, ...htmlProps } = props @@ -216,6 +221,7 @@ export function useRadio(props: UseRadioProps = {}) { "aria-disabled": ariaAttr(trulyDisabled), "aria-required": ariaAttr(isRequired), "data-readonly": dataAttr(isReadOnly), + "aria-describedby": ariaDescribedBy, style: visuallyHiddenStyle, } }, @@ -235,6 +241,7 @@ export function useRadio(props: UseRadioProps = {}) { isReadOnly, isRequired, isInvalid, + ariaDescribedBy, ], )