Há pouco tempo ouvi de um programador web que ele estava em um dilema quando foi demandado a construir uma aplicação com facilidades de usabilidade e, ao mesmo tempo, acessível a deficientes visuais.
Para o objetivo da boa usabilidade, o programador introduziu recursos baseados em Ajax de forma a tornar a interface mais dinâmica e interativa. Bibliotecas Javascript como Scriptaculous, Prototype e jQuery, e componentes de frameworks em Java, ASP.NET e PHP oferecem amplo uso de Ajax.
A técnica de Ajax é uma das principais engrenagens para RIA (Rich Internet Applications), as Aplicações Internet Ricas. Consiste basicamente em programar eventos Javascript na página web que disparam requisições HTTP assíncronas, que por sua vez retornam dados (em formato XML, JSON etc.) para atualizar dinamicamente a página (via seu modelo de objetos — o DOM). Isso oferece ao usuário respostas imediatas e sensíveis ao contexto da sua interação. Em suma, mais interatividade.
Mas ao utilizar Javascript modificando dinamicamente a interface e o conteúdo das páginas web, parte da aplicação ficou inacessível a pessoas com deficiência, principalmente aqueles que necessitam de um leitor de tela e os que não conseguem utilizar mouse.
O dilema então é: Usabilidade × acessibilidade podem conviver harmonicamente?
Um padrão emergente do W3C, Consórcio de Padronização da Web, visa trazer um solução para isto. É o Accessible Rich Internet Applications (WAI-ARIA), RIA Acessível. Atualmente o padrão está em versão preliminar (public working draft) WAI-ARIA 1.0 de 15 de dezembro de 2009.
O navegador Mozilla Firefox 3 provê suporte quase total a WAI-ARIA — as versões 1.5 e 2 já ofereciam algum suporte. Outros navegadores que oferecem suporte parcial ou planejam incluir suporte a WAI-ARIA incluem Internet Explorer 8, Opera e Apple Safari (Web Kit).
Para saber mais:
- Roadmap for Accessible Rich Internet Applications (WAI-ARIA Roadmap) (em inglês), W3C, 2008-02-04.
- Code Talks – WAI-ARIA (em inglês), portal com informações incluindo um WAI-ARIA FAQ.
- ARIA4: Utilizar Accessible Rich Internet Applications para identificar de forma programática campos de formulário conforme necessário, notas em português do W3C em Técnicas para as WCAG 2.0.
- Accessible Web 2.0 Applications with WAI-ARIA (em inglês), em A List Apart.
- Developing Accessible Widgets Using ARIA (em inglês), apresentação em vídeo (duração 49min, transcrição disponível) por Todd Kloots, engenheiro da biblioteca Yahoo! User Interface (YUI) e especialista em acessibilidade, em Yahoo! Video. Veja também YUI Theater — Todd Kloots: “Developing Accessible Widgets with ARIA”, por Eric Miraglia, 2008-12-08; e ARIA Plugins for YUI Widgets, por Todd Kloots, 2008-10-12; ambos em YUI Blog.
- Improving Accessibility Through ARIA (em inglês), por Ryan Doherty, no blog Mozilla WebDev.
Márcio, você conhece o GWT (Google Web Toolkit)? Além de ser muito bom e produtivo, tem suporte a ARIA:
http://code.google.com/webtoolkit/doc/latest/DevGuideA11y.html
@Paulo:
Olá Paulo, conheço o GWT só na teoria (dos inúmeros artigos técnicos e comparações sobre frameworks web em Java), mas nunca usei.
De acordo com o artigo WAI-ARIA Implementation in JavaScript UI Libraries (updated), por Steve Faulkner em 2009-07-13, além de YUI e GWT, várias bibliotecas e frameworks web oferecem, alegam ou tem trabalho em andamento em suporte a WAI-ARIA.
Outro artigo interessante é o Web Toolkits Accessibility Study [PDF], por Zdenek Mikovec, Jan Vystrcil e Pavel Slavik, da Universidade Técnica Tcheca em Praga, publicado na SIGAccess Newsletter, issue 94, junho 2009.
Valeu a participação! Abraço