Acessibilidade para todos

Artigo que discute algumas recomendações da WCAG e Section 508 para tornar um site mais acessível para pessoas com ou sem algum tipo de deficiência.

acessibilidade web

Desde que me deparei com o tema Acessibilidade (aproximadamente em 2005, quando participei do XXV Congresso da Sociedade Brasileira de Computação - CSBC), procurei dar o devido cuidado para o desenvolvimento Web.

Acessibilidade na Web significa desenvolver páginas (entendam qualquer site ou sistema de informação web) que sejam entendidas e navegáveis por qualquer pessoa. O principal guia de acessibilidade é o Web Content Accessibility Guidelines (WCAG), cujo site se encontra em www.w3.org/TR/WCAG10/. O WCAG foi montado pela Web Accessibility Initiative (WAI), e prevê 3 níveis de conformidade (do mais simples ao mais completo): A, AA e AAA. Cada nível prevê a conformidade incremental de um conjunto de checkpoints. A "Section 508" do governo dos Estados Unidos também é uma lista de normas bastante reconhecida, obrigatória em sites no governo de lá, e útil para os demais países. Está disponível em www.section508.gov/.

Muitos dos pontos abordados por estes tipos de guia são subjetivos e de difícil identificação por agentes automatizados de "validação" do nível de conformidade. Em todo caso, existem alguns agentes que tentam validar aquilo que podem. Um exemplo é o "Cynthia Says", disponível em www.cynthiasays.com.

Abaixo seguem algumas dicas rápidas para entusiastas (consulte o site para a lista completa).

Prioridade 1:

  • Coloque textos alternativos em Imagens (use o atributo "alt" ou "longdesc");
  • Não use "blink" e "marquee" (elementos piscando ou correndo na tela)
  • Garanta que uma informação transmitida através de cor, também seja transmitida sem cor (por exemplo, itens ativos de uma lista são mostrados em verde, mas também há um texto, ao lado, dizendo "ativo", ainda que esta informação fique invisível na renderização padrão da página)
  • Organize o documento para que ele faça sentido sem as folhas de estilo (utilize cada elemento HTML levando em conta seu valor semântico)
  • Para tabelas, utilize linhas ou colunas de cabeçalho, sumário e título
  • Garanta o funcionamento da página mesmo com Client Side Scripts desativados (por exemplo, funcione sem JavaScript ou Flash)

Prioridade 2:

  • Garanta que as cores dos textos e cores de fundo tenham contraste suficiente para ser visto em telas preto e branco, e não utilize cores que prejudiquem pessoas com daltonismo
  • Use folhas de estilos para formatação
  • Use unidades relativas (porcentagem, ou "em" para textos) em oposição a unidades absolutas. Existem usuários que precisam ampliar os elementos da página e ela precisa continuar acessível.
  • Utilize cabeçalhos para definir a hierarquia do conteúdo do documento (use h1, h2, h3, h4, h5 e h6 para definir os níveis, mas NÃO utilize estes elementos apenas para mostrar um texto com uma fonte maior)
  • Não utilize "refresh" ou "redirect"
  • Não abra outras janelas ou pop-ups sem avisar o usuário
  • Evite elementos depreciados da W3C
  • Divida grandes blocos de informação em partes menores e apropriadas
  • Não use tabelas para layout
  • Posicione adequadamente os labels dos elementos de formulários

Prioridade 3:

  • Especifique a descrição completa de abreviações e acrônimos na primeira ocorrência destes no documento (use abbr ou acronym)
  • Especifique a língua principal utilizada para apresentar o conteúdo do documento
  • Crie uma ordem lógica para navegar entre links, elementos de formulários, etc. (utilize o atributo taborder nos elementos em questão)
  • Inclua pelo menos um símbolo imprimível entre dois links adjecentes (para ficar claro onde termina um e começa outro)
  • Ofereça outras formas de apresentação do documento (língua, mídia, etc.)
  • Ofereça uma barra de navagação para indicar a posição do usuário na árvore hierárquica de navegação no site
  • Coloque um sumário nas tabelas
  • Inclua valores padrão nos campos de formulários

Observação: você pode optar por "burlar" algumas destas recomendações caso ofereça um mecanismo de habilitar/desabilitar tal recurso. Mas é importante que, inicialmente, o conteúdo seja apresentado da forma acessível.

Em meio a tudo isso, um dos grandes desafios que encontro é criar mecanismos que utilizam Ajax (ou apenas JavaScript) que funcione, também, com alguma forma alternativa. É uma questão complicada mesmo. Por um lado, existem aqueles que defendem que a mesma página precisa ser acessível com ou sem scripts e, por outro, existe a linha que defende o desenvolvimento em paralelo de dois sites com o mesmo conteúdo, mas um totalmente acessível e outro nem tanto.

0 comentários