patternfly / patternfly/patternfly-react
Bug - [Popover] - [accessibility issues with footer, header, and heading]
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 862
- Forks
- 392
- Merge medio
- 4 d 8 h
- PR fusionados (30 d)
- 9
Descripción
Describe the problem
Accessibility issues for Popover element:
- with
footerContentprop - with
headerContentprop - with default value
h6ofheaderComponentprop
Heading levels should only increase by one
https://dequeuniversity.com/rules/axe/4.9/heading-order
<h6 class="pf-v5-c-popover__title-text"><div>Popover header</div></h6>
Document should not have more than one banner landmark
https://dequeuniversity.com/rules/axe/4.9/landmark-no-duplicate-banner
<header class="pf-v5-c-masthead pf-m-display-inline ws-masthead">
Related node:
<header class="pf-v5-c-popover__header"><div class="pf-v5-c-popover__title" id="popover-pf-17234753664484trsgdfq2md-header"><h6 class="pf-v5-c-popover__title-text"><div>Popover header</div></h6></div></header>
Document should not have more than one contentinfo landmark
https://dequeuniversity.com/rules/axe/4.9/landmark-no-duplicate-contentinfo
<footer class="pf-v5-c-page__main-section ws-org-pfsite-l-footer">
Related node:
<footer class="pf-v5-c-popover__footer" id="popover-pf-17234753664484trsgdfq2md-footer">Popover footer</footer>
Ensures landmarks are unique
https://dequeuniversity.com/rules/axe/4.9/landmark-unique
<header class="pf-v5-c-masthead pf-m-display-inline ws-masthead">
Related node:
<header class="pf-v5-c-popover__header"><div class="pf-v5-c-popover__title" id="popover-pf-17234753664484trsgdfq2md-header"><h6 class="pf-v5-c-popover__title-text"><div>Popover header</div></h6></div></header>
<footer class="pf-v5-c-page__main-section ws-org-pfsite-l-footer">
Related node:
<footer class="pf-v5-c-popover__footer" id="popover-pf-17234753664484trsgdfq2md-footer">Popover footer</footer>
How do you reproduce the problem?
- Visit https://www.patternfly.org/components/popover/#basic
- Click Toggle popover button.
- Scan page with axe DevTools and ignore the last issue as irrelevant.
Expected behavior
Render markup that passes axe DevTools rules.
Is this issue blocking you?
No, we will fix 10 occurrences as follows:
- Move occurrences of
footerContent, orheaderContent, or both, to props of a pure presentation component that composes them withbodyContentand returns markup forbodyContentprop ofPopoverelement. That is, replacefooterandheaderelements withdivelements that have PatternFly classes for same visual appearance. - Render (instead of heading element)
pelement that has PatternFly class for same visual appearance, but takes out of heading hierarchy of page. Similar solution as our workaroundcomponent="p"prop forAlertelements that do not seem to fit heading hierarchy of page.
Screenshots
What is your environment?
- OS: macOS 14.6.1
- Browser: Chrome 127
- PatternFly: react-core 5.2.2
What is your product and what release date are you targeting?
Red Hat Advanced Cluster Security
Any other information?
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.
Línea de trabajo
Comienza con el componente Popover y el ejemplo básico de Popover en patternfly.org/components/popover/#basic, y luego reproduce las infracciones notificadas con axe DevTools. Actualiza las diez apariciones para que el contenido de footer y header use marcado de presentación que no sea un landmark y para que el header predeterminado ya no añada un nivel de encabezado inapropiado; se considera terminado cuando se cumplen las reglas de axe notificadas.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- react, typescript
- Área
- accessibility, frontend
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100