Accessibility Bug - Duplicate Ids Created When More Than One Instance of the Tabs Is Used on a Page
Um pull request relacionado já foi integrado.
- #458 de @danez — integrado
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript, react
- Domínio
- accessibility, frontend
Direção de pesquisa
Comece reproduzindo o problema com duas instâncias do controle react-tabs em uma página e inspecionando os IDs de tab e tab-panel gerados no DOM. Compare os IDs duplicados e suas associações e, em seguida, considere as abordagens propostas na issue; considera-se concluído quando várias instâncias têm IDs exclusivos e continuam corretamente vinculadas para acessibilidade.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
This is an accessibility bug caused by the same id being used multiple times in the DOM. What react-tabs does to cause this bug is it autogenerates ids for the tabs it renders to the page. The ids start at 0, and are incremented for each tab and tab-panel rendered. This wouldn’t be a problem if the control is only used once, but when it's used more than once in your project, the separate instances of the control do not know about each other and so the ids for each instance of the control start at 0 and get incremented in the same way, causing id overlap. Ways this issue could be resolved: use random ids, require an instance of the tabs control to be given an id and use that id in the ids of the autogenerated ids for the tabs and tab panels.
By the way, I have made sure that I am using the most up to date version of react-tabs as of the time of writing this, 3.1.0.
- Linguagem predominante
- JavaScript
- Estrelas
- 3.1k
- Forks
- 455
- Merge médio
- 5h 9min
- PRs com merge (30d)
- 2
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de reactjs/react-tabs
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 25/100
reactjs/react-tabs#584 ·
-
className default is lost when props.className is undefined in UncontrolledTabsTalvez já em andamento @Shiva903-hue assumiu há 268 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 45/100
reactjs/react-tabs#581 · 3 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
reactjs/react-tabs#571 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
reactjs/react-tabs#525 · 1 comentário · 1 reação ·
-
Disabled tabs should remain keyboard focusable as per W3C WAI ARIA guidelinesTalvez livre de novo @Jastagar assumiu há 1048 dias e não há nenhum pull request aberto. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
reactjs/react-tabs#521 · 3 comentários ·
Todas as issues de reactjs/react-tabs
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
jspreadsheet/ce#1809 ·
-
documentation
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 91/100
githubnext/gh-aw-workshop#4458 ·
Mantenedores costumam responder em até 1 dia
-
Add: CartoonitoAbertacheck:failed feeds:add
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 63/100
iptv-org/database#37390 · 1 comentário ·
Mantenedores costumam responder em até 9 dias
-
bug: directory index route root priority is overwritten when wildcard is falseTalvez já em andamento @TalhaHunter101 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
fastify/fastify-static#617 ·
-
bug confirmed css v6
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia