← Results

Radix UI

The entire report: 5 components, 50 scoring checks, none failing. Each check cites the clause it measures; the per-component pages carry the failure detail and the command that reproduces it.

dialog · 100%@radix-ui/react-dialog@1.1.23full detail
Every check for the Radix UI dialog, with its verdict.
CheckVerdictSeverity
The control that opens the dialog has an accessible namedialog.trigger-has-accessible-namepassserious
The trigger can be reached with the Tab keydialog.trigger-is-focusablepassblocker
Pressing Enter on the focused trigger opens the dialogdialog.opens-on-enterpassblocker
The dialog exposes role=dialog or role=alertdialogdialog.has-dialog-rolepassserious
The dialog has an accessible namedialog.has-accessible-namepassserious
Focus moves into the dialog when it opensdialog.focus-moves-inpassblocker
Tab never reaches operable content behind the dialogdialog.focus-trapped-forwardpassblocker
Shift+Tab never reaches operable content behind the dialogdialog.focus-trapped-backwardpassblocker
Tab never leaves the dialog, even brieflydialog.tab-never-leaves-dialogpassmoderate
Escape closes the dialogdialog.escape-closespassserious
Closing the dialog returns focus to the triggerdialog.focus-restored-on-closepassserious
Content behind the dialog is hidden from assistive technologydialog.background-inertpassserious
The close control has an accessible namedialog.close-has-accessible-namepassmoderate
combobox · n/afull detail
Every check for the Radix UI combobox, with its verdict.
CheckVerdictSeverity
The combobox has an accessible namecombobox.has-accessible-namenot-applicableserious
The input exposes role=comboboxcombobox.has-combobox-rolenot-applicableserious
The combobox can be reached with the Tab keycombobox.is-focusablenot-applicableblocker
aria-expanded is present and false before the popup openscombobox.collapsed-by-defaultnot-applicablemoderate
Down Arrow opens the popupcombobox.opens-on-down-arrownot-applicableblocker
aria-expanded becomes true when the popup openscombobox.expanded-state-communicatednot-applicableserious
The popup exposes role=listboxcombobox.popup-has-listbox-rolenot-applicableserious
The combobox references its popup with aria-controlscombobox.controls-popupnot-applicablemoderate
Each option exposes role=optioncombobox.options-have-option-rolenot-applicableserious
Down Arrow moves through the optionscombobox.arrow-moves-active-optionnot-applicableblocker
The active option is exposed to assistive technologycombobox.active-option-communicatednot-applicableserious
DOM focus stays on the combobox while the popup is opencombobox.focus-remains-on-comboboxnot-applicablemoderate
Enter selects the active optioncombobox.enter-selects-active-optionnot-applicableblocker
Escape closes the popupcombobox.escape-closesnot-applicableserious
tabs · 100%@radix-ui/react-tabs@1.1.14full detail
Every check for the Radix UI tabs, with its verdict.
CheckVerdictSeverity
The tab container exposes role=tablisttabs.tablist-has-rolepassserious
Each tab exposes role=tabtabs.tabs-have-tab-rolepassserious
Each tab has an accessible nametabs.tab-has-accessible-namepassserious
The selected panel exposes role=tabpaneltabs.panel-has-tabpanel-rolepassserious
Exactly one tab is marked selectedtabs.selected-tab-communicatedpassserious
The panel takes its accessible name from its tabtabs.panel-labelled-by-tabpassmoderate
The tab references its panel with aria-controlstabs.tab-controls-panelpassmoderate
Unselected panels are hidden from assistive technologytabs.unselected-panels-not-exposedpassserious
Tab moves focus to the selected tabtabs.tab-key-reaches-selected-tabpassblocker
The tablist is a single stop in the tab sequencetabs.tablist-is-one-tab-stoppassserious
Right Arrow moves focus to the next tabtabs.arrow-moves-between-tabspassblocker
Keyboard navigation can select a different tabtabs.activation-selects-tabpassblocker
Selecting a tab reveals its paneltabs.activation-reveals-panelpassblocker
accordion · 100%@radix-ui/react-accordion@1.2.20full detail
Every check for the Radix UI accordion, with its verdict.
CheckVerdictSeverity
Each header control sits inside a headingaccordion.header-is-headingpassmoderate
Each header control exposes role=buttonaccordion.trigger-is-buttonpassserious
Each header control has an accessible nameaccordion.trigger-has-accessible-namepassserious
Collapsed sections expose aria-expanded=falseaccordion.collapsed-state-communicatedpassserious
The header control references its panel with aria-controlsaccordion.trigger-controls-panelpassmoderate
Collapsed panels are hidden from assistive technologyaccordion.collapsed-panel-not-exposedpassserious
Enter expands the focused sectionaccordion.enter-expandspassblocker
Space expands the focused sectionaccordion.space-expandspassserious
An expanded panel is exposed and reveals its contentaccordion.expanded-panel-exposedpassblocker
Tab moves between accordion headersaccordion.headers-are-tab-stopspassserious
Activating an expanded header collapses itaccordion.collapses-againpassserious

What this cannot tell you

A high score means no violations were detected by automated testing. It does not mean the component is accessible. Automated tests cannot judge whether a label is meaningful, whether a reading order makes sense, or whether the experience is usable with a screen reader. Those need human judgement and disabled users. This is a floor, not a ceiling.