[SF][A11y][ui5-select] Conflicting ARIA: role="combobox" rendered with aria-roledescription="Listbox" (confuses screen-reader users)
I maintainer di solito rispondono entro 3 giorni
@PetyaMarkovaBogdanova ci sta già lavorando.
Dal 29/10/2026.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 67/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- accessibility, frontend
Direzione di ricerca
Inizia da src/SelectTemplate.tsx e segui _ariaRoleDescription fino alla voce SELECT_ROLE_DESCRIPTION in src/i18n/messagebundle.properties. Verifica il comportamento di accessibilità previsto per la casella combinata di selezione ed esamina i test esistenti per i suoi attributi ARIA renderizzati. Il lavoro è completo quando il controllo viene annunciato in modo coerente con il suo ruolo di casella combinata e i test pertinenti hanno esito positivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
We got a customer issue
The ui5-select root element renders two conflicting ARIA semantics on the same node:
role="combobox"aria-roledescription="Listbox"
Because aria-roledescription overrides how assistive technology announces the
element's role, a control that is implemented and behaves as a combobox is
announced to screen-reader users as a "Listbox". This is contradictory and
creates confusion about how to interact with the control (a listbox and a
combobox have different interaction models and keyboard expectations).
A consuming application cannot correct this: the ARIA is set inside the
component's shadow DOM, and ui5-select exposes no public property to override
role or aria-roledescription (only accessibleName, accessibleNameRef,
accessibleDescription, accessibleDescriptionRef).
Source (confirmed in v2.28.1)
src/SelectTemplate.tsx — the .ui5-select-label-root div:
<div
class="ui5-select-label-root"
role="combobox"
aria-haspopup="listbox"
aria-roledescription={this._ariaRoleDescription} // <-- resolves to "Listbox"
aria-expanded={this._isPickerOpen}
...
>
_ariaRoleDescription resolves to the i18n key SELECT_ROLE_DESCRIPTION, whose
value in src/i18n/messagebundle.properties is:
SELECT_ROLE_DESCRIPTION=Listbox
So the final DOM is role="combobox" + aria-roledescription="Listbox".
Isolated Example
No response
Reproduction steps
- Go to https://ui5.github.io/webcomponents-react/v2/?path=/docs/inputs-select--docs
- Inspect the shadow DOM .ui5-select-label-root → it has role="combobox" and aria-roledescription="Listbox".
- With a screen reader (JAWS/NVDA/VoiceOver), focus the control → it is announced as a "Listbox" while behaving as a combobox.
Expected Behaviour
No response
Screenshots or Videos
No response
UI5 Web Components for React Version
2.28.1
UI5 Web Components Version
2.28.1
Browser
Chrome
Operating System
No response
Additional Context
No response
Relevant log output
Organization
No response
Declaration
- I’m not disclosing any internal or sensitive information.
- Lingua principale
- TypeScript
- Stelle
- 1.8k
- Fork
- 290
- Merge medio
- 3g 12h
- PR unite (30g)
- 54
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di UI5/webcomponents
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
UI5/webcomponents#14244 ·
I maintainer di solito rispondono entro 3 giorni
-
bug Medium Prio TOPIC P
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
UI5/webcomponents#14239 · 2 commenti ·
I maintainer di solito rispondono entro 3 giorni
-
[Feature Request][Side Navigation][A11Y]: Enhance user experience navigating components tree itemsApertabug Medium Prio TOPIC RD
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
UI5/webcomponents#14232 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
enhancement feature request TOPIC RD
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
UI5/webcomponents#14222 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
(ui5-search): Search input missing aria-descriptionForse già presa @ndeshev l’ha presa 2 giorni fa. Apertabug Low Prio TOPIC RL
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
UI5/webcomponents#14211 · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di UI5/webcomponents
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
code-yeongyu/senpi#5262 ·
I maintainer di solito rispondono entro 1 giorno
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
lingdojo/kana-dojo#33420 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] inspect_schema matches named container case-insensitively without preferring exact matchForse già presa @Maaz2212 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
libredb/libredb-studio#2128 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Yeachan-Heo/gajae-code#7474 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
status: needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
mastra-ai/mastra#29108 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno