← 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.
| Check | Verdict | Severity |
|---|---|---|
| The combobox has an accessible namecombobox.has-accessible-name | not-applicable | serious |
| The input exposes role=comboboxcombobox.has-combobox-role | not-applicable | serious |
| The combobox can be reached with the Tab keycombobox.is-focusable | not-applicable | blocker |
| aria-expanded is present and false before the popup openscombobox.collapsed-by-default | not-applicable | moderate |
| Down Arrow opens the popupcombobox.opens-on-down-arrow | not-applicable | blocker |
| aria-expanded becomes true when the popup openscombobox.expanded-state-communicated | not-applicable | serious |
| The popup exposes role=listboxcombobox.popup-has-listbox-role | not-applicable | serious |
| The combobox references its popup with aria-controlscombobox.controls-popup | not-applicable | moderate |
| Each option exposes role=optioncombobox.options-have-option-role | not-applicable | serious |
| Down Arrow moves through the optionscombobox.arrow-moves-active-option | not-applicable | blocker |
| The active option is exposed to assistive technologycombobox.active-option-communicated | not-applicable | serious |
| DOM focus stays on the combobox while the popup is opencombobox.focus-remains-on-combobox | not-applicable | moderate |
| Enter selects the active optioncombobox.enter-selects-active-option | not-applicable | blocker |
| Escape closes the popupcombobox.escape-closes | not-applicable | serious |
| Check | Verdict | Severity |
|---|---|---|
| The tab container exposes role=tablisttabs.tablist-has-role | pass | serious |
| Each tab exposes role=tabtabs.tabs-have-tab-role | pass | serious |
| Each tab has an accessible nametabs.tab-has-accessible-name | pass | serious |
| The selected panel exposes role=tabpaneltabs.panel-has-tabpanel-role | pass | serious |
| Exactly one tab is marked selectedtabs.selected-tab-communicated | pass | serious |
| The panel takes its accessible name from its tabtabs.panel-labelled-by-tab | pass | moderate |
| The tab references its panel with aria-controlstabs.tab-controls-panel | pass | moderate |
| Unselected panels are hidden from assistive technologytabs.unselected-panels-not-exposed | pass | serious |
| Tab moves focus to the selected tabtabs.tab-key-reaches-selected-tab | pass | blocker |
| The tablist is a single stop in the tab sequencetabs.tablist-is-one-tab-stop | pass | serious |
| Right Arrow moves focus to the next tabtabs.arrow-moves-between-tabs | pass | blocker |
| Keyboard navigation can select a different tabtabs.activation-selects-tab | pass | blocker |
| Selecting a tab reveals its paneltabs.activation-reveals-panel | pass | blocker |
| Check | Verdict | Severity |
|---|---|---|
| Each header control sits inside a headingaccordion.header-is-heading | pass | moderate |
| Each header control exposes role=buttonaccordion.trigger-is-button | pass | serious |
| Each header control has an accessible nameaccordion.trigger-has-accessible-name | pass | serious |
| Collapsed sections expose aria-expanded=falseaccordion.collapsed-state-communicated | pass | serious |
| The header control references its panel with aria-controlsaccordion.trigger-controls-panel | pass | moderate |
| Collapsed panels are hidden from assistive technologyaccordion.collapsed-panel-not-exposed | pass | serious |
| Enter expands the focused sectionaccordion.enter-expands | pass | blocker |
| Space expands the focused sectionaccordion.space-expands | pass | serious |
| An expanded panel is exposed and reveals its contentaccordion.expanded-panel-exposed | pass | blocker |
| Tab moves between accordion headersaccordion.headers-are-tab-stops | pass | serious |
| Activating an expanded header collapses itaccordion.collapses-again | pass | serious |
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.