[SF][A11y][ui5-select] Conflicting ARIA: role="combobox" rendered with aria-roledescription="Listbox" (confuses screen-reader users)
Los mantenedores suelen responder en 3 días
@PetyaMarkovaBogdanova ya está trabajando en esto.
Desde el 29/10/2026.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 67/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- accessibility, frontend
Línea de trabajo
Empieza por src/SelectTemplate.tsx y sigue _ariaRoleDescription hasta la entrada SELECT_ROLE_DESCRIPTION en src/i18n/messagebundle.properties. Comprueba el comportamiento de accesibilidad esperado para el combobox de selección y revisa las pruebas existentes de sus atributos ARIA renderizados. La tarea estará terminada cuando el control se anuncie de forma coherente con su rol de combobox y pasen las pruebas pertinentes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.8k
- Forks
- 290
- Merge medio
- 3 d 12 h
- PR fusionados (30 d)
- 54
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de UI5/webcomponents
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
UI5/webcomponents#14244 ·
Los mantenedores suelen responder en 3 días
-
bug Medium Prio TOPIC P
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
UI5/webcomponents#14239 · 2 comentarios ·
Los mantenedores suelen responder en 3 días
-
[Feature Request][Side Navigation][A11Y]: Enhance user experience navigating components tree itemsAbiertobug Medium Prio TOPIC RD
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
UI5/webcomponents#14232 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
enhancement feature request TOPIC RD
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
UI5/webcomponents#14222 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
(ui5-search): Search input missing aria-descriptionPosiblemente ocupada @ndeshev la tomó hace 1 día. Abiertobug Low Prio TOPIC RL
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
UI5/webcomponents#14211 · 1 asignado ·
Los mantenedores suelen responder en 3 días
Todos los issues de UI5/webcomponents
Issues similares
-
area:cli bug P4
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
bug from-studio
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
esengine/DeepSeek-Reasonix#14868 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
linxiv-dev/linXiv#384 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
scope:core type:security
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
follow-redirects updateAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
mailgun/mailgun.js#544 ·