Dicas de como melhorar a acessibilidade de seu site

Introdução

Acessibilidade é um tópico muito falado mas muitas vezes vejo isso sendo deixado de lado.

Por ser um tópico bem grande, hoje irei abordar alguns pontos que são fáceis de começar e bem fácil de lembrar durante seu desenvolvimento.

Outline

Já notou que nos navegadores baseados no Chromium e no Firefox algumas interações possuem um comportamento padrão do navegador? Como por exemplo a seleção de um botão ou input.

Muitas vezes eu vejo sites onde removem por completo o outline em CSS Reset. E isso implica diretamente na acessibilidade.

Pessoas que utilizam navegação pelo teclado ou não conseguem identificar alterações de cores não conseguem detectar o que está acontecendo caso essa propriedade seja removida. Okay, entendo que talvez não combine muito com o layout, mas não o remova, você pode alterar o comportamento padrão do navegador e aplicar seu próprio estilo.

Basta seguir este artigo para ter uma ideia melhor: Copy the Browser’s Native Focus Styles

Textos alternativos

Textos alternativos são super importantes!

Seja pra SEO, acessibilidade e até performance. O texto alternativo, ou alt, de uma imagem, por exemplo, quando a imagem não carregar o texto será exibido de placeholder. E além disso, os leitores de tela farão uso deste texto, então lembre-se de fazer um texto que faça sentido e que ajude quem realmente precisa. Tente descrever o máximo a imagem!

ESLint

ESLint é o seu melhor amigo durante o desenvolvimento. Além de te ajudar a manter um bom código ele pode te ajudar com acessibilidade também!

eslint-plugin-jsx-a11y

Esse plugin vai te ajudar com vários pontos importantes de acessibilidade, como garantir os textos alternativos, a inclusão de aria em seus componentes, verificar se as anchor tags são válidas, se os emojis estão corretos e possuem acesso aos leitores de tela entre inúmeras funcionalidades. Vale a pena dar uma conferida!

Obrigado por ler! E se gostou do conteúdo, não deixe de seguir meu site que também está na fonte :D

Dicas valiosíssimas Miguel!! Recentemente conheci a Headless UI uma lib para React e Vue que além de facilicar o desenvolvimento do componente em sí, traz muita coisa pronta com relação a acessibilidade.

Caso alguém esbarre com esse tópico aqui no futuro, o Miguel implementou um linter no TabNews e que faz algumas verificações no nosso CI:

https://github.com/filipedeschamps/tabnews.com.br/pull/315

Miguel sensacional!!! Adorei o plugin do ESLint para acessibilidade.

Você tem acesso ao repositório do TabNews? Se não tiver, peço que responda aqui com o seu username no Github para adicionar. Se já tiver, peço que veja essa issue:

https://github.com/filipedeschamps/tabnews.com.br/issues/95

E topa fazer um PR com a instalação desse plugin?

Olá, Filipe! Uma semana depois, aqui estou novamente ahahahah Tenho sim, inclusive já ajudei em algumas issues lá! Farei o PR com instalação desse plugin ainda essa semana!!!
Fala Filipe, Beleza? Caso o convite ao repositório do TabNews seja extensivo a um leigo, peço que me adicione rodrigofmarques.
Rodrigo, convite enviado e é muito importante que qualquer pessoa de qualquer nível participe do projeto, pois cada pessoa pode perceber um detalhe diferente.