Editable tabs: add and remove buttons owned by role=tablist keep aria-required-children firing
@A-RYAN-1 ya está trabajando en esto.
Desde el 2/10/2026.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 65/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
- Área
- accessibility, frontend
Línea de trabajo
Start in src/TabNavList/index.tsx and src/TabNavList/AddButton.tsx, then trace the remove button alongside each role="tab" node. Check how innerAddButtonRef feeds overflow measurement and inspect the related CSS on the antd side. Re-run the editable Tabs example through axe-core 4.13; done means add and remove buttons no longer trigger aria-required-children while overflow sizing still works.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
After #1024 moves role="tablist" to .rc-tabs-nav-list, aria-required-children still fires for editable tabs: the add button (src/TabNavList/AddButton.tsx, rendered inside the nav list next to the tab nodes in src/TabNavList/index.tsx) is a button owned by the tablist, and a tablist may only own tab elements. axe-core flags it critical: "Element has children which are not allowed: button".
The remove button is the same class of problem, pre-existing: it renders as a sibling of the role="tab" node inside each tab wrapper, so the tablist owns it too.
Repro: <Tabs editable={{ onChange: ... }} items={...} /> through axe-core 4.13 flags the add button node with aria-required-children (critical). The same check on a non-editable Tabs is clean with #1024 applied, which is why this is carved out of that PR's scope.
What a fix likely needs:
- relocate the add button outside
[role=tablist](or restructure so the tablist owns only tab nodes) while keeping theinnerAddButtonRefsize measurement working, it participates in the overflow calculation - move the remove button inside each
role="tab"element, or give it the same restructuring - matching CSS on the antd side for both moves
Context: remaining scope of the aria-required-children failure reported in ant-design/ant-design#49502; antd currently carries a waiting for fix exemption in the tabs a11y test (ant-design/ant-design#53584) that covers this.
- Lenguaje dominante
- TypeScript
- Estrellas
- 572
- Forks
- 242
- Merge medio
- 12 h 6 min
- PR fusionados (30 d)
- 2
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 react-component/tabs
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
react-component/tabs#865 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
react-component/tabs#809 · 1 comentario ·
-
[Accessibility] tabBarExtraContent is owned by role="tablist"Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 64/100
react-component/tabs#1013 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
react-component/tabs#777 · 1 reacción ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
react-component/tabs#726 ·
Todos los issues de react-component/tabs
Issues similares
-
triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
github/docs#46222 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
agent-ready area: config area: skills type: chore upstream: brain-kit
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
-
enhancement priority:low ready-for-dev
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
bug escritorio mapa
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
marcosferr/reporte-ciudadano#4 · 1 comentario ·
-
area: material/sort gemini-triaged needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
angular/components#33933 ·
Los mantenedores suelen responder en 1 día