Saltar para o conteúdo principal da página

Cookies

Este website utiliza cookies. Ao continuar a navegação está a aceitar a sua utilização.

Caso pretenda saber mais, consulte a nossa política de privacidade.


O sítio para a divulgação, partilha e promoção das melhores práticas de acessibilidade para conteúdos Web e aplicações móveis.
O sítio para a divulgação, partilha e promoção das melhores práticas de acessibilidade para conteúdos Web e aplicações móveis.

ecossistema
acessibilidade.gov.pt

Os sítios e as ferramentas de apoio à acessibilidade e à usabilidade, para garantir a promoção das boas práticas e melhorar a experiência de utilização dos serviços digitais.

Criação de JavaScript Acessível

Javascript não é HTML. Não usa as tags do HTML nem se rege por nenhuma das suas regras gerais. Não é Java. Trata-se de uma linguagem de programação que é processada pelo computador do utilizador e é responsável por alguns aspetos dinâmicos de uma página Web. HTML, CSS e Javasript podem fazer quase tudo nas suas páginas! Mas há regras de acessibilidade a cumprir que acrescentam valor aos seus conteúdos.

Resumo do tutorial JavaScript Acessível.

Antevisão

O JavaScript permite a quem desenvolve conteúdos Web adicionar características que aumentam a capacidade de interacção, características de processamento de informação, e controlo sobre os conteúdos de base Web. O JavaScript pode também causar problemas de acessibilidade ao limitar a navegação através do teclado ou através das tecnologias de apoio, apresentando conteúdo ou funcionalidades não acessíveis a tecnologias de apoio, limitando o controlo do utilizador a conteúdo que é alterado automaticamente, e modificando o normal funcionamento de um navegador Web. Quando se deparar com questões de acessibilidade relacionadas com JavaScript, faça uma de duas coisas:

  • Verifique se o JavaScript é directamente acessível
  • Forneça uma alternativa, não-JavaScript, acessível

O JavaScript é frequentemente utilizado para fazer efeitos meramente cosméticos ou outras alteranções de conteúdo que não interferem com a acessibilidade. O conteúdo escrito numa página através de JavaScript é acessível se:

  • Forem utilizados manipuladores de evento dispositivo-independentes.
  • Perante JavaScript activo, o conteúdo e a funcionalidade, por si só, forem acessíveis às tecnologias de apoio, manipuláveis nomeadamente com rato e teclado.
  • Os elementos e as páginas programáveis forem navegáveis através do teclado.
  • O normal funcionamento do navegador não tenha sido modificado de uma forma que gere confusão ou inacessibilidade.
  • Existir uma alternativa acessível quando o JavaScript não possa ser tornado nativamente acessível.

 

Manipuladores de evento JavaScript

Existem dois tipos de manipuladores de evento JavaScript - dispositivo-dependentes e dispositivo-independentes. Quando se implementam manipuladores de evento, deve-se usar um manipulador de evento dispositivo-independente ou usar múltiplos manipuladores de evento dispositivo-dependentes de forma a ir ao encontro das necessidades de todos os utilizadores. Encontra-se abaixo uma lista dos manipuladores de evento mais usuais, ao que se associa um conjunto de questões de acessibilidade.

onMouseOver e onMouseOut.

Dispositivo-dependente (requer a utilização do rato).Certifique-se de que estes manipuladores de evento não estão a introduzir um conteúdo ou uma funcionalidade importante. Use-os em conjugação com os manipuladores de evento onFocus e onBlur para permitir acessibilidade via teclado. Providencie uma alternativa acessível caso o conteúdo ou a funcionalidade não possam ser tornados nativamente acessíveis.

onFocus e onBlur.

Dispositivo-independente (funciona quer com o teclado quer com o rato).Teste para verificar que a acessibilidade não se encontra afectada.

onClick e onDblClick

Dispositivo-dependente (requer o uso do rato).onClick é activado por teclado quando utilizado em links e elementos de formulário. Não existe dispositivo-independente ou equivalentes acessíveis ao teclado para estes manipuladores de evento. A funcionalidade e o conteúdo fornecido pelo manipulador de evento onClick deve ser também tornado acessível.

onChange e onSelect

Dispositivo-independent (trabalha quer com teclado quer com rato). A funcionalidade e o conteúdo fornecido pelos manipuladores de evento onChange e onSelect deve ser também tornado acessível. Os itens dos menus de navegação do tipo drop-down accionados com onChange não são totalmente acessíveis via teclado.

HTML Dinâmico e Acessibilidade

O HTML Dinâmico (DHTML) é uma combinação de JavaScript e Cascading Style Sheets (CSS). Pela sua própria natureza, o DHTML pode produzir, dinamicamente, alterações ao conteúdo. O DHTML é muitas vezes accionado pela interacção do utilizador, como seja o caso da movimentação do rato. Ao implementar DHTML, dever-se-á verificar que o DHTML pode ser accionado de uma forma dispositivo-independente e que o conteúdo e a funcionalidade disponibilizados pelo DHTML são também acessíveis.

O JavaScript pode também ser utilizado para escrever conteúdo dinâmico na página web. Na maioria dos casos, este conteúdo é acessível, a não ser que esteja constantemente a ser alterado ou que, de alguma maneira, interfira com a acessibilidade da página.

Janelas pop-up

O comportamento por defeito de um navegador Web ou de certos elementos HTML podem ser afectados por acção de JavaScript. As janelas pop-up podem ser accionadas por acção directa do JavaScript ou por acção dos manipuladores de evento de JavaScript. Se o utilizador não é alertado para o facto de ter sido aberta uma janela pop-up (uma janela que se sobrepõe à actual), pode ficar confuso ou desorientado uma vez que o navegador se comportou de forma anormal. Produzir mais modificações nas janelas do navegador como sejam: retirar as barras de deslocação, as barras de estado, as barras de menu, ou as barras de ferramentas, pode igualmente causar problemas de acessibilidade. Use janelas pop-up com cautela e, caso as utilize, nunca deixe de alertar o utilizador para a sua presença. O utilizador deve também ser alertado sempre que utilize JavaScript para executar automaticamente funções do navegador, tais como: redireccionamentos, reinicializações, ou deslocações automáticas. Em todos os casos, testes com utilizadores e testes com tecnologias de apoio podem trazer valioso retorno no que diz respeito à acessibilidade de implementações específicas de JavaScript.

Alternativas a JavaScript

Existem várias formas de fornecer alternativas às construções com JavaScript. As versões mais recentes de CSS permitem que muitas das operações outrora feitas com JavaScript possam ser replicadas apenas com CSS. Menus drop-down, barras de navegação, e as imagens interactivas podem ser, todas elas, desenvolvidas sem estarem assentes em JavaScript. Todavia, a implementação de CSS não é transversal a todos os navegadores e a todas as tecnologias de apoio. Antes pelo contrário, é variada e problemática. Quando o JavaScript, ele próprio, não pode ser tornado nativamente acessível é necessário disponibilizar uma alternativa acessível. Isto pode ser feito replicando ou substituindo o comportamento do JavaScript por um processamento do lado do servidor. Também pode disponibilizar conteúdo em <noscript>, o qual será acessível quando o JavaScript estiver desactivado ou indisponível ao utilizador final.

Directrizes e Normas

As diretrizes e as normas que se seguem aplicam-se a JavaScript:

Secção 508 da Rehabilitation Act §1194.22:

  • (l): Sempre que as páginas utilizem linguagens de script para mostrar conteúdo, ou para criar elementos de interface, a informação fornecida pelo script deve ser identificada com texto funcional que possa ser lido através de tecnologias de apoio.
  • (n) Quando se concebem formulários electrónicos para serem preenchidos on-line, estes devem permitir que as pessoas que usam tecnologias de apoio acedam à informação, aos campos de edição, às funcionalidades necessárias para preencher e submeter o formulário, incluíndo todas as sugestões e direcções.
  • (p) Quando a resposta é temporizada, o utilizador deve ser alertado para isso e deve ser-lhe dado tempo para indicar que necessita de mais tempo.

Directrizes de Acessibilidade para o Conteúdo da Web (WCAG) 1.0 do W3C:

  • 6.3 (Prioridade 1): Certifique-se que as páginas são usáveis quando scripts, applets, ou outros objectos programáveis se encontram desactivados ou não são suportados. Se isto não for possível, forneça informação equivalente numa página alternativa acessível.
  • 6.4 (Prioridade 2): Para os scripts e applets, assegure que os manipuladores de evento são accionados independemente dos dispositivo de entrada.
  • 6.5 (Prioridade 2): Certifique-se que o conteúdo dinâmico é acessível ou forneça uma apresentação ou página alternativa.
  • 7.4 (Prioridade 2): Até que os agentes de utilizador permitam interromper uma reinicialização, não crie páginas que se auto-reinicializam periodicamente.
  • 7.5 (Prioridade 2): Até que os agentes de utilizador permitam interromper um auto-redireccionamento, não use código de marcação para redireccionar páginas automaticamente. Em vez disso, configure o servidor para efectuar o redireccionamento.
  • 8.1 (Prioridade 2): Produza elementos programáveis tais como scripts e applets directamente acessíveis ou compatíveis com as tecnologias de apoio.
  • 10.1 (Prioridade 2): Até que os agentes de utilizador permitam ao utilizador desabilitar a modifcação de janelas, não provoque o aparecimento de janelas sobrepostas (pop-up) ou outras, e não proceda a modificações da janela actualmente activa sem informar o utilizador.
Página anterior

Página 4:

Alternativas ao JavaScript.

Acessibilidade Web

Na UE o standard que contém os requisitos de acessibilidade aplicado à Web e às aplicações móveis é a Norma EN301549. Ela não é mais do que uma cópia do standard WCAG 2.1 conformidade ‘AA’. Em Portugal esses requisitos constam do RNID conforme decretado pelo DL n.º 83/2018.

versão 2.1

O validador de práticas de acessibilidade web (WCAG 2.1)

Introduza um url válido. Ex.: http://www.google.pt