A acessibilidade na Web é um tópico amplamente discutido atualmente. Ainda assim, a proporção de websites que são acessíveis ainda é bastante limitada. Por exemplo, em pesquisa realizada pela WebAIM, em 2014, quando 1465 pessoas com deficiência foram perguntadas sobre o que poderia melhorar a acessibilidade na Web, 81,3% afirmaram que seria a melhoria na acessibilidade de websites. Ou seja, ainda que a navegação dependa de dispositivos, tecnologias assistivas, navegadores Web e sistemas operacionais, os websites são considerados a principal barreira de acessibilidade atualmente.
Quando consideramos as RIA esse cenário se torna ainda mais crítico. RIA tem os problemas de acessibilidade comuns aos websites e, além disso, outro problemas relacionados ao dinamismo e aos tipos de interação mais complexos. Exemplos de problemas são:
<div>
, <a>
e <p>
e adaptados para se comportar como outros componentes, como listas em árvores e menus.Para entender melhor quais os elementos envolvidos em uma navegação web uso de tecnologia assistiva, veja a Figura 1.
Quando uma pessoa com deficiência acessa o sistema operacional (por exemplo, Windows, Linux, MacOS) de um computador, por meio de uma tecnologia assistiva (por exemplo, leitor de telas, apresentador Libras, ampliador de telas, linhas braille), a API (Application Programming Interface) de acessibilidade do sistema operacional (por exemplo, Microsoft Active Accessibility (MSAA) para o Windows e OS X Accessibility Model para o MacOS). As API de acessibilidade dos sistemas operacionais tem a função de intermediar a comunicação entre a tecnologia assistiva com as demais aplicações que estejam sendo usadas pelo usuário.
O navegador Web (por exemplo, Mozilla Firefox, Safari, Internet Explorer, Google Chrome) tem a função de se comunicar com a Web por meio de requisições para endereços específicos, geralmente no formato de URLs (Unified Resource Locators). Ao receber o conteúdo requisitado (para nós interessa as páginas Web e os arquivos relacionados a elas como, folhas de estilo e arquivos de scripts client-side) o navegador interpreta o conteúdo e o apresenta ao usuário.
A principal diferença entre RIA e páginas web estáticas está na comunicação de novos conteúdos apresentados à API de acessibilidade e, consequentemente, à tecnololgia assistiva. Como nas páginas estáticas novos conteúdos são adicionados somente quando toda a página é carregada, é suficiente notificar a API somente quando isso ocorrer. No entanto, em RIA isso pode ocorrer a qualquer momento e sem atualizar toda a página, assim é necessário que essa comunicação de novos conteúdos seja feita de maneira a cada modificação da página.
O conjunto de recomendações WAI-ARIA, promovido pelo World Wide Web Consortium (W3C) tem essa finalidade. Isso é obtido por meio de duas ações principais: (1) aumentar a semântica do conteúdo que é apresentado visualmente (por exemplo, identificar que uma imagem está sendo usada como um botão, que uma lista de itens está sendo usada como um menu, que uma lista de links está sendo usada como uma lista em formato de árvore); (2) identificar regiões da página web em que ocorrem atualizações, de maneira que o navegador web possa avisar a API de acessibilidade das atualizações dinâmicas que ocorrem em uma página.
WebAIM. Screen Reader User Survey #5 Results.
W3C. WAI-ARIA Overview.