MenuToggle does not derive accessible name from visible text children
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- react, typescript
- Área
- accessibility, frontend
Línea de trabajo
Comienza por el componente MenuToggle e inspecciona cómo se calcula su nombre accesible cuando recibe elementos hijos de texto visibles sin un aria-label. Compara este comportamiento con un botón estándar y determina cómo deberían comportarse las etiquetas explícitas en los toggles que solo tienen iconos. Se considera terminado cuando los elementos hijos de texto proporcionan el nombre accesible de forma predeterminada, mientras que los valores explícitos de aria-label siguen estando disponibles para usarlos en toggles que solo tienen iconos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
When MenuToggle renders with visible text children (e.g., <MenuToggle>Actions</MenuToggle>), it does not automatically derive its accessible name from that text. Consumers must manually duplicate the text in an aria-label prop, which is error-prone and violates WCAG 2.5.3 (Label in Name).
WCAG Impact
- 2.5.3 Label in Name — For UI components with visible text labels, the accessible name must contain the visible text. If
MenuToggledoesn't derive its accessible name from its children, speech-input users who say "click Actions" may not activate the correct control.
Steps to Reproduce
- Render
<MenuToggle>Actions</MenuToggle>without anaria-label - Inspect the element's computed accessible name in browser DevTools or a screen reader
- The accessible name may not match the visible "Actions" text
Expected Behavior
MenuToggle should derive its accessible name from its text children by default, similar to how a standard <button>Actions</button> does. An explicit aria-label should only be needed for icon-only toggles (kebab menus).
Current Behavior
Consumers must manually provide aria-label="Actions" even when the text "Actions" is already visible in the toggle. Our codebase (ansible/ansible-ui) has hardcoded fallback aria-label values like 'kebab dropdown toggle' and 'dropdown toggle' that don't match the visible text, precisely because the component doesn't handle this automatically.
Jira Issue: PF-4545
- Lenguaje dominante
- TypeScript
- Estrellas
- 862
- Forks
- 392
- Merge medio
- 4 d 8 h
- PR fusionados (30 d)
- 9
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 patternfly/patternfly-react
-
PF Team
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
patternfly/patternfly-react#12651 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
patternfly/patternfly-react#12637 ·
-
PF Team
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
patternfly/patternfly-react#12617 · 1 comentario ·
-
PF Team
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
patternfly/patternfly-react#12610 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
patternfly/patternfly-react#12600 ·
Todos los issues de patternfly/patternfly-react
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
0xMiden/bridge-portal#132 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
area:tools bug good first issue help wanted priority:P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
TaewoooPark/Motifcode#14 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
newrelic-experimental/preflight#793 · 1 comentario ·