Capítulo 7 Acessibilidade no Projeto de Aplicações Web Renata Pontin de Mattos Fortes, Silvana Maria Affonso de Lara e André Pimenta Freire, ICMC-USP Luciano Tadeu Esteves Pansanato, CEFET-PR Abstract In the current world of information globally available, Web application designers face the challenge of meeting a wide range of users with different personal needs and restrictions. Accessibility is the key concept in defining an appropriate set of criteria to face the challenge of diversity. In this short course, the basic principles related to Accessibility are presented and the Assistive and Universal Design technologies are introduced. The technologies required to implement accessibility in Web applications and their underlying criteria are described. Moreover, concepts, legislation, guidelines and techniques concerning Accessibility in the Web are presented, in order to contextualize its relevance in Web Applications design and the current state of the art in this topic. Resumo No mundo atual de informações disponibilizadas globalmente, os projetistas de aplicações Web se deparam com o desafio de atender a uma ampla gama de usuários com diferentes necessidades e restrições. Acessibilidade é o conceito chave que permeia o conjunto de critérios a serem considerados para enfrentar esse desafio. Neste mini-curso são apresentados os fundamentos básicos relacionados com Acessibilidade, além de serem introduzidos os conceitos de tecnologia Assistiva e Design Universal. Também são discutidas as tecnologias necessárias à implementação de acessibilidade em aplicações Web e os seus critérios subjacentes. Adicionalmente, os conceitos, legislação, diretrizes e as técnicas relacionadas ao tópico Acessibilidade na Web são apresentados para contextualizar a sua relevância e o cenário atual de sua aplicação no Projeto de Aplicações Web. 7.1. Introdução O crescimento do uso da Web a partir de dispositivos ubíquos, principalmente dispositivos móveis, e o uso de recursos da Web por pessoas com necessidades especiais têm motivado o desenvolvimento de técnicas para produzir páginas Web acessíveis. A globalização do acesso a informações requer uma atenção especial nos projetos de aplicações Web, que se depara com o desafio de atender a diferentes necessidades e restrições dos usuários. Acessibilidade é o conceito chave que permeia o conjunto de critérios que devem ser considerados para enfrentar esse desafio. A instituição de leis que regulamentam a disponibilização de conteúdo acessível por parte de órgãos governamentais em diversos países, como Estados Unidos, Canadá, Portugal, Japão, e recentemente o Brasil, também tem alavancado iniciativas em prol do uso de técnicas para desenvolvimento de páginas Web acessíveis. Contudo, nota-se que o grande entrave para a disseminação da cultura de acessibilidade na Web está na conscientização dos desenvolvedores sobre a importância do tema, e sobre as consequências trazidas pela utilização de tecnologias que se tornam barreiras para o acesso ao conteúdo disponibilizado na Web. O objetivo deste capítulo é o de introduzir os principais conceitos relacionados à acessibilidade na Web, e conceitos relacionados, como tecnologia assistiva, design universal, e também temas como legislação de acessibilidade, visando fornecer um contexto geral sobre o tema. As diretrizes de acessibilidade do W3C1 são apresentadas, e são discutidas técnicas para criar e avaliar conteúdo Web de acordo com as diretrizes. Este capítulo está organizado da seguinte forma: na Seção 7.2 são apresentados os principais conceitos relacionados a Tecnologia Assistiva e Design Universal. Na Seção 7.3 são apresentados os principais conceitos relacionados a Acessibilidade na Web. Na Seção 7.4 são apresentadas informações a respeito de legislação sobre acessibilidade na Web, e casos de países que já possuem tal legislação; é apresentado também um panorama sobre a legislação de acessibilidade brasileira. Na Seção 7.5 são apresentados conceitos sobre diretrizes de acessibilidade, e são discutidas as diretrizes de acessibilidade recomendadas pelo W3C. Na Seção 7.6 são discutidas as principais técnicas utilizadas para criação de conteúdo Web acessível, e também são apresentadas as principais técnicas utilizadas para efetuar avaliação de acessibilidade. Na Seção 7.7 são apresentadas as conclusões deste trabalho. 7.2. Tecnologia Assistiva e Design Universal Tecnologia Assistiva é um termo novo, utilizado para identificar todos os recursos e serviços que contribuem para proporcionar ou ampliar as habilidades funcionais das pessoas com necessidades especiais e, conseqüentemente, promover vida independente e inclusão social. O termo Tecnologia Assistiva é traduzido2 do inglês Assistive Technology, que é definido como o conjunto de equipamentos, serviços, estratégias e práticas concebidas e aplicadas para atenuar os problemas encontrados pelas pessoas com necessidades especiais [Cook and Hussey, 1995]. 1 World 2 Sobre Wide Web Consortium o termo “Tecnologia Assistiva”, veja: http://www.clik.com.br/ta_01.html#porque A aplicação de tecnologia assistiva abrange uma série de possibilidades, desde tarefas domésticas básicas até atividades de lazer e de trabalho. A obtenção da maior independência e autonomia possível é um dos caminhos para a completa integração social das pessoas com necessidades especiais ou mobilidade reduzida e deve, portanto, constituir-se no principal objetivo em matéria de inclusão social. No Brasil existe uma enorme quantidade de pessoas que podem e devem beneficiarse da Tecnologia Assistiva. Segundo o documento Síntese de Indicadores Sociais do IBGE [IBGE, 2005], havia no país em 2003, 16,7 milhões de pessoas com 60 anos ou mais, representando 9,6% do total de habitantes. Quanto às pessoas com necessidades especiais, esse grupo social representava 14,5% da população brasileira em 2000, segundo o Censo Demográfico 2000, também elaborado pelo IBGE [IBGE, 2000]. A Tecnologia Assistiva pode proporcionar assistência na comunicação, transporte, e outras atividades da vida diária. Entretanto, essa tecnologia também pode fornecer uma nova barreira se não for considerada a extensão da variabilidade humana, incluindo incapacidade (disability), idade, e tipo de corpo [Berliss-Vincent, 2000]. Ao considerar opções para Tecnologia Assistiva é importante ressaltar que raramente existe uma “melhor” tecnologia para uma determinada situação. Ao contrário, a conveniência tecnológica precisa ser julgada não somente sobre a funcionalidade mas também sobre a habilidade do usuário em adquirir, manter, e obter treinamento sobre o equipamento. Além disso, um equipamento geralmente é somente uma ferramenta entre muitas, e todas as opções devem ser consideradas antes de assumir que a tecnologia pode fornecer a solução ótima. Finalmente, ao mesmo tempo em que as pessoas devem ter tantas opções tecnológicas quanto possível, elas também precisam da opção de não utilizar tecnologia; por exemplo, uma pessoa com uma dificuldade na fala (speech disability) que prefere usar sua própria voz a usar um equipamento auxiliar de comunicação (communication aid) precisa ter a sua preferência respeitada. Existem diversos tipos de software e dispostivos para auxiliar o uso do computador por pessoas com necessidades especiais. Para acessar a Web, muitas pessoas com deficiência visual utilizam o leitor de tela. Alguns usuários usam navegadores textuais como o Lynx ou navegadores com voz em vez de utilizar um navegador comum (navegador com interface gráfica). É muito comum as pessoas com deficiência visual se utilizarem da tecla “tab” para navegar somente em links ao invés de ler todas as palavras que estão na página. Deste modo eles têm uma rápida noção do conteúdo da página ou podem acessar o link desejado mais rapidamente [Serpro, 2004]. A seguir, são listados alguns exemplos de tecnologia assistiva para deficientes visuais: Leitor de Tela: é um software que lê o texto que está na tela do microcomputador e a saída desta informação é através de um sintetizador de voz ou um display braille o leitor de tela “fala” o texto para o usuário ou dispõe o texto em braille através de um dispositivo onde os pontos são salientados ou rebaixados para permitir a leitura. Exemplo de leitores de tela são o JAWS [Freedom Scientific, 2004] e o DOSVOX [NCE-UFRJ, 2004], que possui um sistema completo dotado de leitor de tela. Navegador Textual: é um navegador baseado em texto, diferente dos navegadores 2 http://lynx.isc.org/ com interface gráfica onde as imagens são carregadas. O navegador textual pode ser usado com o leitor de tela por pessoas com deficiência visual e também por pessoas que acessam a internet com conexão lenta. Navegador com voz: é um sistema que permite a navegação orientada pela voz. Alguns possibilitam o reconhecimento da voz e a apresentação do conteúdo com sons, outros permitem acesso baseado em telefone (através de comando de voz pelo telefone e/ou por teclas do telefone). Além dos exemplos citados de tecnologia assistiva para deficientes visuais, existem diversos outros softwares e dispositivos, como aumentadores de tela para pessoas com pouca visão, teclados alternativos, mouses alternativos, entre outros. Nesse sentido, o conceito de Design Universal (Universal Design), ou Design para Todos (Design for All3 ), está ganhando popularidade. Design Universal refere-se à tecnologia desenvolvida de maneira que seja flexível o suficiente para acomodar as diversas habilidades humanas sem sacrificar a estética, a eficácia, ou o custo. Embora exista legislação específica sendo desenvolvida para garantir o Design Universal (nos Estados Unidos, por exemplo), o maior incentivo talvez seja a ampla recepção positiva das pessoas em relação aos benefícios do Design Universal. Por exemplo, quando uma inovação que pode ter sido inspirada inicialmente nas necessidades de pessoas com alguma incapacidade, também tem ampla aceitação por todas as pessoas por causa de diferenciais de conforto e segurança. Na próxima seção são apresentados os principais conceitos relacionados a acessibilidade na Web. 7.3. Acessibilidade na Web A World Wide Web (ou simplesmente Web) foi concebida com o principal intuito de prover uma tecnologia para disponibilização de conteúdo em um formato padrão simples e poderoso, através de informações disponibilizadas em hipertexto utilizando HTML [W3C, 1999]. Desde a concepção da Web, Tim Berners Lee4 destacou que “o poder da web está em sua universalidade. Ser acessada por todos, independente de deficiência, é um aspecto essencial”. Contudo, com o desenvolvimento e difusão da Web, diversas tecnologias que não seguem padrões foram criadas para estender as possibilidades da linguagem HTML, e grande parte dos criadores de páginas e empresas que desenvolvem navegadores deixaram de seguir os principais padrões que garantiam a universalidade da Web. Esta “quebra” com os padrões e princípios que acompanham a motivação da criação da Web trouxe diversas conseqüências para sua evolução, uma vez que a utilização da Web por usuários com softwares não convencionais, e mesmo para o uso da Web em dispositivos móveis é dificultada pela falta de padronização. O avanço das novas tecnologias de computação móvel e ubíqua que utilizam a Web, assim como os avanços sociais para inclusão das pessoas com necessidades especi3 Na Europa o termo “Design for All” tem o mesmo significado de “Universal Design” da Web e diretor do World Wide Web Consortium (W3C) 4 Inventor ais têm colocado o tema de acessibilidade na Web em destaque nos ambientes acadêmicos, empresariais e governamentais. Acessibilidade na Web corresponde a possibilitar que qualquer usuário, utilizando qualquer agente (software ou hardware que recupera e serializa conteúdo Web) possa entender e interagir com o conteúdo de um site [Thatcher et al., 2002]. Acessibilidade incorpora ainda a idéia de que todas as pessoas têm o direito de serem incluídas na sociedade, independente de deficiências, localização geográfica, barreiras de linguagem, ou outro fator [Thatcher et al., 2002]. Durante o desenvolvimento de um site na Web é necessário que se leve em conta não só os usuários que utilizam tecnologias similares às utilizadas pelo desenvolvedor. Deve-se ter em mente que a Web pode ser usada em diferentes contextos por pessoas que, por exemplo [W3C, 1999a]: sejam incapazes de ver, ouvir, se deslocar, ou interpretar determinados tipos de informações; tenham dificuldade em ler ou compreender textos; não tenham um teclado ou mouse, ou não sejam capazes de utilizá-los; possuam tela que apresenta apenas texto, ou com dimensões reduzidas, ou ainda uma conexão lenta com a Internet; não falem ou compreendam fluentemente o idioma em que o documento foi escrito; estejam com seus olhos, mãos ou ouvidos ocupados (por exemplo, ao volante, a caminho do trabalho, ou em um ambiente barulhento); possuam uma versão ultrapassada de navegador Web, diferente dos habituais, um navegador por voz, ou um sistema operacional pouco convencional. A partir dos exemplos, pode-se verificar que o tema “Acessibilidade na Web” não diz respeito somente ao acesso à Web por usuários com deficiências. A utilização dos padrões e recomendações de acessibilidade traz benefícios para diversos grupos de usuários, e para a Web como um todo [Hull, 2004] [Melo and Baranauskas, 2005]. Como citado na Seção 7.2, em 2000, 14,5% da população brasileira possuia algum tipo de necessidade especial, e 9,6% da população tinha mais de 60 anos de idade. Esta parcela da população é bastante significativa, e representa uma grande porção de potenciais clientes de sites de comércio eletrônico, usuários de serviços do governo, visitantes de sites de entretenimento entre outros. A preocupação com acessibilidade na Web deve crescer ainda mais em um futuro próximo, pois a parcela da população idosa, por exemplo, está crescendo significativamente com o aumento da expectativa de vida. Segundo projeções do IBGE [IBGE, 2005], estima-se que em 2030 cerca de 20% da população mundial terá mais de 65 anos. Também deve-se considerar que existe uma estreita relação entre a faixa etária e o surgimento Figura 7.1. Página da UNIFEI exibida em um navegador gráfico: conteúdo disponibilizado somente em Macromedia flash de deficiências. A proporção de pessoas portadoras de necessidades especiais com menos de 21 é de 10%, enquanto que a proporção de pessoas com mais de 65 anos é de 47,3%. Existe uma grande quantidade de páginas Web que não seguem padrões de acessibilidade, e possuem diversas barreiras ao acesso por pessoas com necessidades especiais e usuários de dispositivos com capacidade reduzida de exibição. Para exemplificar um dos tipos de problemas de barreiras em páginas na Web, pode-se observar na Figura 7.1 a página da UNIFEI (Universidade Federal de Itajubá)5 em um navegador gráfico. Na Figura 7.2 é ilustrada mesma página acessada a partir de um navegador textual (Lynx). Pode-se notar que, como o conteúdo só é fornecido no formato Macromedia Flash, e não é fornecido nenhum conteúdo alternativo, não é exibida nenhuma informação no navegador textual. Um navegador com leitor de tela para um usuário cego apresentaria o mesmo resultado que o obtido a partir do navegador textual. Desenvolver páginas acessíveis não significa que não se deve utilizar recursos gráficos e layouts avançados. Não há nada que impeça que um designer crie uma página rica em layout sem barreiras de acessibilidade [Petrie et al., 2003] [Regan, 2004]. Esta é uma das justificativas mais utilizadas por desenvolvedores para não desenvolver conteúdo acessível, contudo, com o uso das técnicas adequadas, não é necessário de forma alguma “perder” em design em favor da acessibilidade. Um outro conceito mal interpretado em relação a acessibilidade é o de que o desenvolvimento visando acessibilidade implica em limitações na usabilidade. Muitos desenvolvedores argumentam que as recomendações de acessibilidade limitam o uso de tecnologias como Java Script, animações, applets e outras tecnologias que podem ser utilizadas para melhorar a usabilidade de um site. As recomendações não impedem o uso destas tecnologias a priori, só indicam que elas devem ser utilizadas com cuidado, e 5 Disponível online em http://www.unifei.edu.br, acessada em 15 de Setembro de 2005 Figura 7.2. Página da UNIFEI exibida em um navegador textual: sem conteúdo textual alternativo, nenhuma informação é obtida do site Figura 7.3. Página do Plone exibida em um navegador gráfico que não devem impedir o acesso por usuários que não disponham delas, para que não se tornem barreiras. O desenvolvimento de páginas acessíveis consiste em confeccionar páginas levando em conta os princípios de acessibilidade e Design Universal. Há diversos exemplos de páginas que contêm auxílios para o uso por portadores de necessidades especiais e que se adaptam bem a diversos tipos de dispositivos. Para exemplificar, pode-se analisar uma página gerada pelo gerenciador de conteúdo Plone [Plone, 2004]. Na página inicial do site do Plone, ilustrada na Figura 7.3, verifica-se que são disponibilizadas opções para utilização diferentes tamanhos de fonte (no canto superior à direita), além de utilizar padrões para codificação da página, que permitem o ajuste a diferentes resoluções de tela e diferentes dispositivos, sem prejudicar o layout. Na Figura 7.4 é ilustrada a exibição da página inicial do Plone em um navegador textual. Verifica-se que o conteúdo é disponibilizado mesmo sem a possibilidade de exibir imagens. As figuras possuem texto alternativo, e a página ainda disponibiliza outros Figura 7.4. Página do Plone exibida em um navegador textual apoios, como âncoras para saltar direto para o conteúdo, bastante útil para portadores de deficiências visuais que utilizam leitores de tela. Na próxima seção é apresentado um panorama sobre legislações de acessibilidade da informação em alguns países, e sobre o status da legislação brasileira de acessibilidade. 7.4. Legislação de Acessibilidade Os primeiros países que idealizaram parâmetros de acessibilidade na Internet foram Canadá, Estados Unidos e Austrália, em 1997. Nos Estados Unidos, em 1998, entra em vigor a “Section 508”, uma lei determinando que a tecnologia eletrônica e de informação dos órgãos federais seja acessível às pessoas com necessidades especiais. Segundo essa lei, a tecnologia inacessível interfere na capacidade individual de adquirir e usar a informação de maneira rápida e fácil. A Section 508 foi decretada para eliminar barreiras na tecnologia da informação, disponibilizando novas oportunidades para as pessoas com necessidades especiais e incentivando o desenvolvimento de tecnologias que as auxiliem a atingir esses objetivos. Com o objetivo de tornar a Web acessível a um número cada vez maior de pessoas e maximizar a interoperabilidade, o World Wide Web Consortium (W3C) criou a Iniciativa para a Acessibilidade na Web (Web Accessibility Initiative, WAI). Entre outras atribuições, a WAI mantém grupos de trabalho para elaborar conjuntos de recomendações para garantir a acessibilidade do conteúdo da Web às pessoas com necessidades especiais ou que acessam a Web em condições especiais de ambiente, equipamento, navegador e outras ferramentas Web. Como resultado desse trabalho, em 1999, foi publicada a primeira versão das Recomendações para a Acessibilidade do Conteúdo da Web (Web Content Accessibility Guidelines, WCAG 1.0), principal referência mundial em termos de acessibilidade na Web. Além dessa iniciativa, também em 1999, Portugal regulamentou a adoção de regras de acessibilidade à informação disponibilizada na Internet pela Administração Pública para pessoas com necessidades especiais. Essa iniciativa transformou Portugal no primeiro país da Europa e o quarto no mundo a legislar sobre acessibilidade na Web. Em 2000, ao aprovar o plano de ação e-Europe 2002 (que inclui o compromisso da adoção das recomendações sobre acessibilidade do W3C nos sites públicos), o Conselho Europeu estendeu a iniciativa portuguesa aos 15 países da União Européia. No Brasil, pode-se destacar a Legislação Brasileira de Acessibilidade, o Comitê CB-40 da Associação Brasileira de Normas Técnicas e, recentemente, o Modelo de Acessibilidade de Governo Eletrônico (e-MAG). Essas iniciativas são abordadas a seguir. 7.4.1. Legislação Brasileira de Acessibilidade Na Constituição de 1988, considerada uma das mais avançadas com relação à garantia dos direitos das pessoas, podem ser destacadas diversas disposições específicas em relação às pessoas com necessidades especiais, por exemplo, o Art. 227, §1o , inciso II: "criação de programas de prevenção e atendimento especializado para os portadores de deficiência física, sensorial ou mental, bem como de integração social do adolescente portador de deficiência, mediante o treinamento para o trabalho e a convivência, e a facilitação do acesso aos bens e serviços coletivos, com a eliminação de preconceitos e obstáculos arquitetônicos". Diversas leis e decretos foram elaborados para assegurar os direitos das pessoas com necessidades especiais. A Lei 7.853/1989 dispõe sobre o apoio às pessoas com necessidades especiais, sua integração social, e sobre coordenadoria nacional específica, disciplina a atuação do Ministério Público, define crimes, e dá outras providências. O Decreto 3.298/1999 regulamenta a Lei 7.853/1989, dispõe sobre a política nacional para a integração da pessoa com necessidades especiais, consolida as normas de proteção, e dá outras providências. A Lei 10.048/2000 dá prioridade de atendimento às pessoas com necessidades especiais ou com mobilidade reduzida (idosos, gestantes, lactantes, e pessoas acompanhadas por crianças de colo). A Lei 10.098/2000 (Lei de Acessibilidade) estabelece normas gerais e critérios básicos para a promoção da acessibilidade, e dá outras providências. O Decreto 5.296/2004, que regulamenta as Leis 10.048/2000 e 10.098/2000, torna obrigatória a acessibilidade nos portais e sites da administração pública para o uso das pessoas com necessidades especiais para garantir o pleno acesso às informações. 7.4.2. Associação Brasileira de Normas Técnicas O organismo legalmente constituído para cuidar das normas técnicas no Brasil é a Associação Brasileira de Normas Técnicas (ABNT6 ), que é filiada à International Organization for Standardization (ISO) e atua desde 1940. A ABNT está dividida em comitês nacionais, entre eles o Comitê Brasileiro de Acessibilidade (CB-40) que começou a atuar no ano de 2000. A Comissão de Estudo de Acessibilidade na Comunicação (CE-03) do CB-40 trata o tema da acessibilidade na Web em um dos seus grupos de trabalho e, basicamente, devem ser atendidas as recomendações do W3C. A existência de nor6 http://www.abnt.org.br mas técnicas relacionadas ao tema, facilita a adoção de medidas ou ações facilitadoras, uma vez que nelas são estabelecidas as condições de acessibilidade nas diversas situações [Barbosa, 2003]. As normas técnicas definem parâmetros técnicos, estabelecem critérios, imposições ou recomendações, dependendo da questão abordada. A legislação brasileira torna obrigatória a adoção desta ou daquela norma como referência. 7.4.3. Modelo de Acessibilidade de Governo Eletrônico O Modelo de Acessibilidade de Governo Eletrônico (e-MAG) está sendo elaborado pelo Governo Brasileiro em parceria com a ONG Acessibilidade Brasil, para a construção e a adaptação dos conteúdos governamentais (informações, serviços, etc.) na Internet. Nesse modelo são fornecidas uma visão do cidadão (conceitual) e uma visão técnica (na forma de cartilha) com recomendações baseadas no conjunto de regras do W3C, mas com indicações simplificadas e priorizações adaptadas à realidade e necessidades brasileiras. Essas recomendações visam proporcionar que o processo de acessibilização dos conteúdos do Governo Brasileiro seja conduzido de forma padronizada, de fácil implementação, coerente com as necessidades brasileiras, e em conformidade com os padrões internacionais. Esse modelo é a referência de todas as instituições governamentais para a construção e adaptação das suas soluções de governo eletrônico com interface Web. O e-MAG foi criado especificamente para atender ao Decreto 5.296/2004, que regulamenta as Leis 10.048/2000 e 10.098/2000. 7.5. Diretrizes para Acessibilidade na Web A definição de diretrizes (guidelines)7 para a criação de interfaces é bastante utilizada no contexto de interação humano-computador. A utilização de guidelines consiste em enumerar um conjunto de princípios e de orientações para a solução de problemas conhecidos, e com soluções de reconhecida eficácia. Existem diversos conjuntos de guidelines, ou diretrizes, para a confecção de sites visando a acessibilidade. Os principais documentos que definem diretrizes de acessibilidade são o Section 508 [U.S. Government, 2003] do governo norte-americano, e o WCAG (Web Content Accessibility Guidelines) [W3C, 1999a], do W3C. Cada conjunto de diretrizes possui suas especificidades, mas os principais problemas de acessibilidade são tratados por ambos. Neste material é abordada a primeira versão das Diretrizes para a Acessibilidade do Conteúdo da Web (Web Content Accessibility Guidelines, WCAG 1.0) [W3C, 1999]. No WCAG 1.0 é definido um conjunto de 14 diretrizes que tratam diversos problemas relacionados a acessibilidade de sites. Basicamente, as diretrizes são relacionadas a dois temas principais: Garantir a transformação harmoniosa de páginas: páginas que garantem uma transformação harmoniosa permanecem acessíveis independente das restrições do 6 http://neosite.ilogic.com.br/artigos/Acessibilidade_CartilhaTecnica.pdf 7 Apesar da tradução oficial do W3C indicar a tradução de guidelines como recomendações, preferimos a tradução de “diretrizes”, para não gerar confusão com o termo recomendação (recommendation), utilizado para designar a recomendação de tecnologias pelo W3C usuário (por exemplo: restrições de percepção visual, auditiva ou motora) ou restrições tecnológicas (por exemplo: dispositivos com restrições de exibição ou restrição de velocidade de conexão). Facilitar a compeensão do conteúdo e a navegação através dele: o desenvolvedor deve utilizar uma linguagem simples e clara, e também prover mecanismos para facilitar a navegação dentro de uma página e a navegação entre as páginas que compõem o conteúdo. No WCAG 2.0, as diretrizes são organizadas em torno de quatro princípios, de forma que as recomendações presentes no WCAG 1.0 são também atendidas, e são acrescentadas novas recomendações. Os quatro princípios de acessibilidade definidos nessa segunda versão são os seguintes: 1. O conteúdo deve ser perceptível; 2. Os componentes de interface com o usuário no conteúdo devem ser operáveis; 3. O conteúdo e os controles do usuário devem ser fáceis de entender; 4. O conteúdo deve ser suficientemente robusto para funcionar com as tecnologias correntes e futuras. Os quatro princípios de acessibilidade apontados pelo WCAG 2.0 já estavam de certa forma contidos nas recomendações do WCAG 1.0. Contudo, a classificação como um princípio reforça a sua importância, e redefine a forma da organização da nova versão da recomendação do W3C. Embora a versão do WCAG 2.0 já esteja em estado avançado de desenvolvimento, diversos pontos ainda não foram concluídos pela equipe do W3C, de forma que a versão do WCAG 1.0 ainda é a versão considerada como recomendação. Dessa forma, neste material serão abordadas as recomendações de acessibilidade do WCAG 1.0. Os principais conceitos do WCAG 1.0 foram mantidos na nova versão, de forma que a nova versão não invalida a primeira. A seguir são apresentadas as principais recomendações do WCAG 1.0. 7.5.1. Recomendações para Acessibilidade do Web Content Accessibility Guidelines 1.0 O WCAG 1.0 é composto por um conjunto de 14 diretrizes de acessibilidade, e cada diretriz possui pontos de verificação (checkpoints). Esses pontos de verificação são classificados por níveis de prioridade e cada ponto de verificação demanda uma técnica para implementá-lo. Nesta seção são apresentados os conceitos envolvidos com cada uma das diretrizes do WCAG 1.0, e na Seção 7.6 são apresentadas as principais técnicas utilizadas para atender essas diretrizes. A seguir são descritas as diretrizes do WCAG 1.0: 1. Fornecer alternativas para conteúdo sonoro e visual: esta diretriz indica a necessidade de disponibilizar conteúdo que, ao ser apresentado ao usuário transmita em essência, as mesmas funções e finalidade que o conteúdo sonoro ou visual. Assim, deve-se fornecer um equivalente textual a cada elemento não textual. 2. Não recorrer apenas a cor: deve-se garantir a percepção do texto e dos elementos gráficos do documento, mesmo quando são vistos sem cores. Assim, deve-se assegurar que todas as informações veiculadas por meio de cores estejam também disponíveis sem cor, por exemplo, a partir de informações do contexto ou de marcação apropriada. 3. Utilizar corretamente marcações e folhas de estilo: esta diretriz indica a necessidade de se utilizar marcação nos documentos com os elementos estruturais adequados e controlar a apresentação por meio de folhas de estilo, em vez de elementos de apresentação e atributos. 4. Indicar claramente qual o idioma utilizado: utilizar marcações que facilitem a pronúncia e a interpretação de abreviaturas ou de texto em língua estrangeira é imprescindível. Deve-se identificar claramente quaisquer mudanças de idioma no texto de um documento, bem como nos equivalentes textuais. 5. Criar tabelas passíveis de transformação harmoniosa: deve-se assegurar que as tabelas têm as marcações necessárias para poderem ser transformadas de forma harmoniosa por navegadores acessíveis e outros agentes do usuário. Em tabelas de dados, é preciso identificar os cabeçalhos de linha e de coluna. 6. Assegurar que as páginas dotadas de novas tecnologias sejam transformadas harmoniosamente: as páginas devem ser acessíveis mesmo quando as tecnologias mais recentes não forem suportadas ou tenham sido desativadas. Deve-se organizar os documentos de tal forma que possam ser lidos sem a necessidade de recorrer a folhas de estilo. 7. Assegurar o controle do usuário sobre as alterações temporais do conteúdo: deve-se possibilitar a interrupção momentânea ou definitiva do movimento, intermitência, transcurso ou atualização automática de objetos e páginas. Deve-se evitar páginas contendo movimento, até que os agentes de usuário (navegadores e similares) possibilitem a imobilização do conteúdo. 8. Assegurar a acessibilidade direta em interfaces integradas pelo usuário: a interface com o usuário deve obedecer a princípios de design para a acessibilidade: acesso independente de dispositivos, operacionalidade pelo teclado, emissão automática de voz (verbalização). 9. Projetar páginas considerando a independência de dispositivos: é imprescindível utilizar funções que permitam a ativação de elementos de página por meio de uma grande variedade de dispositivos de entrada. 10. Utilizar soluções provisórias ou de transição: deve-se utilizar soluções de acessibilidade transitórias, para que as tecnologias de apoio e os navegadores mais antigos funcionem corretamente. 11. Utilizar tecnologias e recomendações do W3C: deve-se utilizar tecnologias do W3C (de acordo com suas especificações) e seguir as recomendações de acessibilidade. 12. Fornecer informações de contexto e orientações: é fundamental fornecer contexto e orientações para ajudar os usuários a compreenderem páginas ou elementos complexos. 13. Fornecer mecanismos de navegação claros: deve-se fornecer mecanismos de navegação coerentes e sistematizados (informações de orientação, barras de navegação, mapa do site) de modo a aumentar a probabilidade de uma pessoa encontrar o que procura em um dado site. 14. Assegurar a clareza e a simplicidade dos documentos: deve-se assegurar a produção de documentos claros e simples, para que sejam mais fáceis de compreender. Deve-se também utilizar a linguagem mais clara e simples possível, adequada ao conteúdo do site. 7.5.2. Níveis de prioridade e conformidade Conforme mencionado anteriormente, cada diretriz possui pontos de verificação. Cada ponto de verificação tem um nível de prioridade baseado no seu impacto na acessibilidade, que é associado pelo Work Group responsável pela definição das diretrizes. De acordo com a classificação existem três níveis de prioridade: Prioridade 1: os pontos de verificação que possuem prioridade 1 são aqueles que “devem” ser atendidos, pois caso contrário, um ou mais grupos de pessoas com determinados tipos de necessidades ficarão impossibilitados de acessar a informação contida no documento. Satisfazer tal ponto de verificação é um requisito básico para alguns grupos poderem acessar o conteúdo de documentos Web; Prioridade 2: os pontos de verificação que possuem prioridade 2 são aqueles que “deveriam” ser atendidos, pois caso contrário alguns grupos de pessoas com determinados tipos de necessidade terão dificuldade em acessar a informação no documento. Satisfazer esse ponto de verificação corresponde a remover barreiras significativas ao acesso de conteúdos de documentos Web; Prioridade 3: os pontos de verificação que possuem prioridade 3 são aqueles que “podem” ser atendidos, pois caso contrário alguns grupos de pessoas com determinados tipos de necessidade irão encontrar algum tipo de dificuldade ao acessar as informações contidas no documento. A satisfação desse ponto de verificação provê a melhoria do acesso às informações contidas em um documento Web. O conceito de nível de conformidade varia de acordo com a satisfação das diretrizes de acessibilidade. O WCAG 1.0 define três níveis de conformidade, a saber: Nível de conformidade “A”: atende a todas as recomendações de Prioridade 1; Nível de conformidade “AA”: atende a todas as recomendações de Prioridades 1 e 2; Nível de conformidade “AAA”: atende a todas as recomendações de Prioridades 1, 2 e 3. Na próxima seção são apresentadas técnicas para criação e avaliação de conteúdo Web de acordo com diretrizes de acessibilidade. 7.6. Técnicas para Acessibilidade na Web Após a apresentação de direcionamentos relacionados a “o que fazer” para obter acessibilidade na Seção 7.5, nesta seção são apresentadas técnicas sobre “como fazer”. Nesse contexto, são abordadas técnicas para acessibilidade em imagem, áudio e vídeo, estrutura, texto, navegação, como também considerações sobre projeto com separação de conteúdo e apresentação. No final são apresentadas as técnicas para a avaliação de conformidade com as diretrizes de acessibilidade. 7.6.1. Técnicas para criação de conteúdo acessível O objetivo deste material não é servir como um guia completo para construção de conteúdo acessível, mas apresentar as principais técnicas utilizadas para atender às diretrizes de acessibilidade e introduzir os principais conceitos envolvidos com a criação de conteúdo Web acessível. Um conjunto mais amplo de técnicas para o WCAG 1.0 pode ser encontrado no documento Techniques For Web Content Accessibility Guidelines 1.0 [W3C, 2000]. As técnicas apresentadas são complementadas com exemplos em linguagem de marcação HTML (Hypertext Markup Language) 4.01 [W3C, 1999], utilizada para marcação de hipertexto, e CSS (Cascading Style Sheets) 2.0 [W3C, 2000], utilizada para definição de folhas de estilo para formatação. A seguir, são apresentadas algumas das principais técnicas relacionadas a cada uma das diretrizes do WCAG 1.0, principalmente as relacionadas a pontos de verificação de prioridade 1 e prioridade 2. Técnicas para a Diretriz 1: Fornecer alternativas para o conteúdo sonoro e visual Usuários que utilizam navegadores textuais, ou leitores de tela podem ter problemas para ter acesso a conteúdo disponibilizado na forma de imagens. Usuários que não possuam dispositivos de saída de som, ou usuários com limitações de capacidade auditiva também podem ter problemas para ter acesso a conteúdo sonoro. A principal forma de fornecer alternativas para conteúdo sonoro e visual é por meio do uso dos atributos “alt” e “longdesc”, cujos efeitos são os de apresentar uma descrição textual do conteúdo quando o elemento não textual (visual ou sonoro) não estiver disponível, ou não puder ser exibido. Para atender a esta diretriz, deve-se fornecer conteúdo textual equivalente para todo elemento não textual, como imagens, representações gráficas de textos, imagens mapeadas, animações, applets, frames, scripts, imagens utilizadas como marcadores, botões com imagens, sons e vídeos. É importante que sejam fornecidos textos que realmente transmitam a informação contida nos elementos não textuais. Para elementos visuais, por exemplo, imagine-se lendo cada um deles para um usuário cego. Tudo o que for considerado importante para que ele compreenda este conteúdo deve ser incluído no texto alternativo. A seguir é ilustrado um exemplo de uma declaração de imagem em HTML com texto alternativo: <img src="foto.jpg" alt="Foto do Cristo Redentor" longdesc="Foto da estátua do Cristo Redentor, no Corcovado na cidade do Rio de Janeiro"/> Técnicas para a Diretriz 2: Não recorrer apenas a cor É necessário certificar-se de que toda informação disponibilizada por meio de cores também esteja disponível de alguma outra forma, seja através do contexto ou através de marcação adequada. Um erro muito comum em páginas de designers iniciantes é indicar opções através de cores: “para acessar o conteúdo acione o link azul”. Um outro exemplo de uso de cores como única forma de representação de informação é o uso de ícones coloridos em comunicadores instantâneos: somente representar “online” por verde e “offline” por vermelho não é suficiente, é necessário também adotar outras alternativas, como agrupar os usuários, de forma que a semântica desejada também seja representada mesmo quando não seja possível exibir as cores. Também é recomendável tomar certos cuidados com a utilização de cores de fundo. É importante utilizar combinações de cores de texto e de fundo com contraste suficiente para que pessoas com limitações visuais, ou pessoas usando monitores com restrições de exibição também sejam capazes de enxergar o conteúdo. Técnicas para a Diretriz 3: Utilizar corretamente marcações e folhas de estilo Para tornar uma página acessível, é necessário utilizar adequadamente marcações e folhas de estilo. É importante que as tags HTML sejam utilizadas adequadamente, e que sejam aplicadas para os fins corretos. As tags de cabeçalho (H1, H2, etc) não devem ser utilizadas somente para obter efeito de formatação, mas para expressar a estrutura hierárquica do documento. Para criar outras classes de parágrafos somente para formatação devem ser utilizadas folhas de estilo em CSS (Cascading Style Sheets) [W3C, 2000]. Da mesma forma, o uso indiscriminado da tag STRONG também deve ser evitado. Esta tag só deve ser utilizada para dar ênfase a algum conteúdo que realmente tenha importância semanticamente, e não só para obter o efeito de negrito. Uma outra recomendação importante é separar as informações referentes ao conteúdo das informações, de representação do layout. Deve ser evitado, por exemplo, o uso da tag FONT do HTML. Com o uso desta tag, a formatação fica “amarrada” ao conteúdo. A maneira correta de se utilizar a formatação é com o uso de CSS. Da mesma forma, todas as informações referentes a layout devem ser codificadas por meio de folhas de estilo, de forma que no HTML sejam codificadas somente informações relacionadas ao conteúdo. Desta maneira, caso seja necessário utilizar outra formatação para o mesmo conteúdo, basta utilizar um outro CSS. Veja um exemplo a seguir, com o uso de um estilo para formatação de um parágrafo: Definição do arquivo estilo.css: p.description{ font-family: Arial; font-size: large; font-weight: bold; } Uso da folha de estilo em um arquivo HTML: <html> <head> <link rel="stylesheet" type="text/css" href="estilo.css" /> </head> <body> <p class="description"> Descrição do texto com formatação aplicada. </p> </body> O uso de unidades de tamanho para marcação em elementos também deve ser analisado com cuidado. Deve-se evitar o uso de tamanhos absolutos (em pixels), e optar por utilizar tamanhos relativos (em porcentagem). A utilização de tamanhos absolutos prejudica bastante o princípio da “transformação harmoniosa”, uma vez que impede a adaptação de tamanhos a dispositivos com diferentes capacidades de exibição. O uso de tamanhos relativos é denominado como “layout líquido” no conjunto de recomendações de usabilidade para aplicações Web, apontadas por Nielsen [Nielsen, 2000]. Técnicas para a Diretriz 4: Indicar claramente qual o idioma utilizado O idioma em que um texto é disponibilizado pode ser uma barreira para o acesso pelos usuários. Diversos esforços têm sido realizados visando promover a internacionalização do conteúdo da Web, e o principal deles é o W3C Internationalization Activity [W3C, 2004]. Contudo, mesmo que não sejam disponibilizadas versões de uma página em diferentes idiomas, é importante que seja identificado qual é o idioma utilizado em um documento, assim como a identificação de abreviaturas ou uso de expressões em língua estrangeira. A identificação do idioma utilizado é importante para que o software utilizado pelo usuário possa identificá-la e fazer possíveis adaptações de acordo com o idioma. Navegadores com leitores de tela podem inclusive ser capazes de ler em mais de um idioma e fazer as devidas adaptações de acordo com a indicação de idioma de cada documento. Em HTML, deve-se utilizar o atributo “lang” para indicar o idioma. Esta especificação pode ser feita para todo o documento, ou para algum trecho específico. No exemplo a seguir é ilustrada uma declaração HTML com conteúdo em português e um trecho em inglês: <html lang="pt-br"> <head><title>Pagina exemplo</title></head> <body> <p>Este é um texto com um trecho em inglês: <span lang="en">I was written in English!</span></p> </body> </html> Uma outra técnica importante é especificar por extenso cada abreviatura ou sigla quando da sua primeira ocorrência em um documento. Em HTML isto pode ser feito utilizando o atributo “title” ou as tags ABBR e ACRONYM. No exemplo a seguir é ilustrado um exemplo de um uso de abreviatura: <p>O principal documento com recomendações de acessibilidade é o <acronym title="Web Content Accessibility Guidelines"> WCAG</acronym>.</p> Técnicas para a Diretriz 5: Criar tabelas passíveis de transformação harmoniosa A exibição de tabelas é uma das funcionalidades mais complexas para dispositivos com capacidades restritas, como leitores de tela, navegadores textuais e PDA’s (Personal Digital Assistant). No caso dos PDA’s, a limitação é relacionada ao tamanho que eles são capazes de exibir. No caso de navegadores textuais, muitos deles não são capazes de exibir uma tabela graficamente, e por isso exibem de forma serializada (cada célula em um parágrafo). Para leitores de tela, o desafio da tarefa de “ler” uma tabela reside principalmente em fornecer o contexto dos dados lidos para que eles façam sentido. A identificação de cabeçalhos de linhas e colunas é um apoio importante para possibilitar, por exemplo, que leitores de tela possam fornecer informações de contexto em tabelas. Assim, deve-se identificar cada cabeçalho com tags TH. Grupos de células que correspondem a linhas de cabeçalho ou linhas de rodapé também devem ser identificados com as tags THEAD e TFOOT, respectivamente. O uso de tabelas somente para fins de layout não é recomendado. O uso de tabelas é indicado prioritariamente para disponibilizar informações de forma tabular. A maneira recomendada para organizar o layout de páginas em colunas é utilizar as tags DIV para agrupar elementos e aplicar folhas de estilo CSS para alterar a disposição na tela. Maiores informações sobre como confeccionar layout sem o uso de tabelas podem ser encontrados no site Tableless8 . No exemplo a seguir é ilustrada a utilização de um DIV com um CSS para o posicionamento de uma coluna de um portal, como uma alternativa ao uso de tabelas. O exemplo corresponde a um trecho da formatação da coluna de notícias do site do W3C9 , ilustrado na Figura 7.5. Pode-se verificar que o efeito obtido é a divisão do conteúdo em colunas, muito comum em portais na Web, porém, sem utilizar tabelas. 8 Disponível 9 Disponível online em http://www.tableless.com.br online em http://www.w3.org Figura 7.5. Portal do W3C. Exemplo de uso de colunas em layout sem tabelas. Trecho do código HTML no qual é definida a coluna de notícias (news) ilustrada na Figura 7.5: <div class="newsBlock"> <h2 class="newsHeading"> <a name="news" id="news" shape="rect">News</a> </h2> ..... </div> Trecho do código CSS para definição do layout da coluna de notícias (news) ilustrada na Figura 7.5: .newsBlock { background: #fff; color: #000; float: left; width: 46%; margin-bottom: 0; border-left: 1px solid #000; border-right: 1px solid #000; border-bottom: 1px solid #000; } Se não for possível definir o layout de uma página sem utilizar tabelas, deve-se garantir que a leitura desta tabela faça sentido mesmo quando se faz uma “leitura linear”. Caso o entendimento não seja garantido quando se faz uma leitura linear da tabela, deve ser fornecido um conteúdo alternativo. Também é importante fornecer resumos para as tabelas, visando descrever o propósito, os tipos de dados presentes, e informações que possam auxiliar na sua leitura. Os resumos podem ser fornecidos utilizando o atributo “summary”. Técnicas para a Diretriz 6: Assegurar que as páginas dotadas de novas tecnologias sejam transformadas harmoniosamente O conteúdo de uma página deve ser organizado de forma que mantenha uma organização lógica que faça sentido por si só, sem depender do layout e de tecnologias utilizadas para efetuar sua apresentação. Por exemplo, é importante que um documento HTML possa ser lido mesmo que não seja possível aplicar a folha de estilo associada a ele. Além das folhas de estilo, também é importante garantir que uma página funcione mesmo quando não for possível executar programas clientes como applets, Java Scripts e outros, caso estejam desabilitados. Se não for possível garantir que a página funcione sem estes programas, deve ser fornecido um conteúdo alternativo, ou mesmo toda uma página alternativa acessível. Também é importante garantir que as interfaces utilizadas em elementos como scripts e applets sejam independentes do dispositivo de entrada utilizado (teclado, mouse, ou qualquer outro dispositivo). Técnicas para a Diretriz 7: Assegurar o controle do usuário sobre as alterações temporais do conteúdo Todo conteúdo de página que varia temporalmente deve estar sob controle do usuário. Por exemplo, se um trecho de uma página exibe conteúdos de forma rotativa (sem recarregar), o usuário deve ser capaz de parar a troca de conteúdos a qualquer momento para facilitar sua leitura, ou mesmo caso a alteração lhe cause algum incômodo. A mesma técnica também vale para conteúdos que se movem em páginas. O uso de conteúdos móveis para propagandas em portais, presente em diversos portais atualmente, consistitui em um problema de acessibilidade para diversos grupos de usuário, principalmente pela dificuldade para parar os movimentos, ou mesmo para fechar conteúdos indesejados. A utilização de folhas de estilo dotadas de programas interpretáveis destinados à criação de movimento permite que os usuários tenham mais facilidade em desativá-las ou fazer com que seus efeitos sejam anulados. O uso de marcação para redirecionar as páginas (tag META com instruções para redirecionar após um certo número de segundos) também não é recomendável. Ao invés de utilizar marcações, deve-se configurar o servidor para que execute os redirecionamentos. Deve-se ressaltar que as tags BLINK e MARQUEE, utilizadas para causar flicker e textos rotativos não são definidos em qualquer especificação HTML [W3C, 1999] do W3C, e não devem ser utilizadas. Técnicas para a Diretriz 8: Assegurar a acessibilidade direta em interfaces integradas pelo usuário Quando forem utilizados elementos como applets e scripts, deve-se garantir que a interface desses elementos obedeçam a princípios de acessibilidade. Eles devem oferecer acesso independente de dispositivo, devem poder ser operados através de teclado, e possuir saída por meio de emissão de voz, por exemplo. Para tanto, estes elementos dinâmicos devem ser diretamente acessíveis por meio de tecnologias de apoio ou tecnologias compatíveis com os recursos disponíveis para os elementos utilizados. Por exemplo, para applets em Java devem ser utilizados recursos da API de acessibilidade do Java [Sun Microsystems, 2005]. Técnicas para a Diretriz 9: Projetar páginas considerando a independência de dispositivos É importante que o conteúdo de uma página possa ser acessado independente do tipo de dispositivo de entrada utilizado pelo usuário. Por exemplo, não se deve utilizar funcionalidades que só são acionadas através de clique de mouse. A navegação na página por meio do uso de teclado também deve ser facilitada. Deve-se criar uma seqüência lógica de tabulação para percorrer links, controles de formulários e objetos. Em HTML, isto pode ser feito por meio da especificação de uma ordem de tabulação utilizando o atributo “tabindex”, ou por meio de um projeto de página claro e lógico, que auxilie a conferir independência de dispositivos a uma página. Também é importante fornecer atalhos de teclado que apontem para links importantes (incluindo os contidos em imagens mapeadas armazenados no cliente), controles de formulários e grupo de controles de formulários. Em HTML, isto pode ser feito por meio da especificação de atalhos utilizando o atributo “accesskey”. No exemplo a seguir, é ilustrado um trecho de código HTML com a especificação de uma tecla de atalho (ALT + h) para acessar o link “Home” de uma página: <p><a href="home.html" accesskey="h">Home</a></p> Técnicas para a Diretriz 10: Utilizar soluções provisórias ou de transição O uso de soluções provisórias ou de transição garante que o conteúdo de uma página possa ser acessado por versões antigas de navegadores, assim como o acesso por outros agentes usuários que não possuem capacidades elevadas para leitura de conteúdo. A abertura de novas janelas é extremamente incômoda para usuários que utilizam leitores de telas, de forma que não se deve provocar o aparecimento de janelas de sobreposição ou outras quaisquer, e não fazer com que o conteúdo da janela atual seja modificado sem que o usuário seja informado disso, para que o usuário não perca o contexto da página. Nem todos os leitores de tela são capazes de manter o contexto para os usuários nesse tipo de situação. Também deve-se evitar a utilização de frames cujo destino seja uma nova janela. Como alguns navegadores apresentam algumas dificuldades para apresentar links adjacentes, é importante inserir caracteres que não funcionem como link e sejam passíveis de impressão, delimitados por espaço, para que o navegador possa separar corretamente os links. Campos de formulários devem possuir associação entre descrição e campos por meio da tag LABEL, e também devem ser posicionados de maneira que a associação possa ser entendida mesmo que o navegador do usuário não seja capaz de efetuar a associação. Técnicas para a Diretriz 11: Utilizar tecnologias e recomendações do W3C É aconselhável sempre utilizar tecnologias especificadas como padrões do W3C e seguir as recomendações de acessibilidade. Aconselha-se utilizar sempre as últimas versões das recomendações do W3C, quando possível, evitar utilizar tecnologias consideradas obsoletas. Em casos em que não seja possível utilizar tecnologia W3C, ou quando tal utilização produzir materiais que não possam ser objeto de transformação harmoniosa, recomendase fornecer uma versão alternativa acessível do conteúdo. Se, apesar de todos os esforços, não for possível criar uma página acessível, fornecer um link a uma página alternativa que utilize tecnologias do W3C e que seja acessível, e que contenha informações (ou funcionalidades) equivalentes e seja atualizada tão freqüentemente quanto a página original, considerada inacessível. Uma outra dica interessante é prover conteúdo de acordo com as preferências do usuário. Estas preferências podem ser obtidas por meio de análise de informações capturadas pela aplicação, ou por meio de informações obtidas pela requisição HTTP do usuário. Desta forma é possível, por exemplo, utilizar diferentes folhas de estilo CSS de acordo com o dispositivo ou software utilizado pelo usuário. Técnicas para a Diretriz 12: Fornecer informações de contexto e orientações O fornecimento de informações de contexto e orientações de navegação é fundamental para auxiliar os usuários a compreender e utilizar o conteúdo de um site. Diversas técnicas difundidas no contexto de usabilidade para Web também auxiliam em quesitos de acessibilidade e devem ser observadas, como a utilização de barra de localização e boa organização de menus. Em particular, alguns aspectos importantes que devem ser cumpridos são: a cada frame utilizado, deve-se atribuir um título que facilite a sua identificação e sua navegação, por meio do uso do atributo “title” nas tags FRAME. Também é importante descrever a finalidade dos frames e o modo como se relacionam entre si. Se essas informações não forem obtidas diretamente a partir dos títulos, deve ser utilizado o atributo “longdesc” ou um link descritivo. Uma outra característica importante para facilitar a navegação é associar os campos de formulários aos seus rótulos. Esta associação pode ser feita por meio do uso da tag LABEL. No exemplo a seguir, é ilustrado um trecho de código HTML com o uso de uma associação entre um rótulo e um campo de formulário de CPF: <form action="form.php" method="post"> <label for="cpf">Código de Pessoa Física:</label> <input type="text" name="cpf" size="11"> </form> O fornecimento de um mecanismo de âncora para acesso direto ao conteúdo de uma página é especialmente interessante para usuários cegos que utilizam leitores de tela. A cada link acionado pelo leitor de tela, este inicia a leitura da nova página a partir do início da página. Caso esta página contenha um menu, este será lido inteiramente antes que o usuário tenha acesso ao conteúdo em si. Desta forma, para facilitar a navegação destes usuários, recomenda-se a inserção de uma âncora, que pode até mesmo ser invisível para usuários utilizando navegadores gráficos, que aponte para o início do conteúdo. No exemplo a seguir é ilustrado a declaração de uma âncora que aponta para o conteúdo da página. Verifica-se que é possível utilizar um estilo que torne a âncora invisível para usuários que não necessitem deste tipo de apoio: <a class="hiddenStructure" href="#documentContent">Skip to content</a> Técnicas para a Diretriz 13: Fornecer mecanismos de navegação claros Os mecanismos utilizados para navegação em um site devem ser claros e objetivos, para que o usuário possa obter as informações desejadas de um site sem dificuldades. Devem ser fornecidas informações de orientação como mapa do site, descrição do layout e organização e barras de navegação. Também é importante fornecer uma descrição sobre os mecanismos de apoio a acessibilidade presentes em um site (teclas de atalho, funcionalidades, etc). Deve-se ter um cuidado especial com os links das páginas, uma vez que eles são o principal mecanismo de navegação. É necessário identificar claramente o destino de cada link. Além disso, o texto do link deve ser suficientemente ilustrativo para fazer sentido quando for lido fora de contexto - isoladamente ou integrado em uma seqüência de links. O texto do link deve, além disso, ser conciso. Técnicas para a Diretriz 14: Assegurar a clareza e a simplicidade dos documentos A linguagem utilizada em um site deve ser a mais simples possível, de acordo com o seu contexto. A utilização de uma linguagem clara e simples proporciona uma comunicação eficaz. O acesso a informações escritas pode ser difícil para pessoas com deficiências cognitivas ou de aprendizagem, além de beneficiar pessoas cuja língua materna não seja a da página. É importante complementar o texto com apresentações gráficas ou sonoras, sempre que facilitarem a compreensão da página. 7.6.2. Técnicas para avaliação de acessibilidade Durante o desenvolvimento de páginas Web, a atividade de avaliação é de grande importância para garantir a acessibilidade do conteúdo resultante. A avaliação é considerada uma das atividades mais importantes em projetos de interface, porque por meio dela é possível validar a interface criada de acordo com os requisitos do usuário, e verificar se o usuário terá dificuldades em utilizá-la ou não. No caso de avaliação de acessibilidade, o principal objetivo é identificar barreiras de acessibilidade em sites e reportar estes problemas para correção. Para realizar uma avaliação efetiva de acessibilidade, é necessário executar testes com a página gerada em pelo menos três navegadores diferentes, visando garantir que ela funcione adequadamente em cada um deles. Além disso, é necessário também executar testes utilizando tecnologia assistiva (por exemplo, leitores de tela) visando garantir que a página também é acessível quando o acesso for realizado por navegadores com este tipo de tecnologia. Da mesma forma que as avaliações de usabilidade, a avaliação de acessibilidade não é eficaz caso não sejam realizados testes com os próprios usuários. Dessa forma, recomenda-se a realização de testes com usuários de diferentes perfis, que utilizam dispositivos diferentes para acesso, e com diferentes habilidades e deficiências. No documento Evaluating Web Sites for Accessibility [W3C, 2003a] são apresentados dois métodos principais para avaliação de acessibilidade de sites: “Avaliação Preliminar de Acessibilidade” e “Avaliação de Conformidade” Os principais aspectos de cada um desses métodos são apresentados a seguir. Avaliação Preliminar de Acessibilidade O objetivo da avaliação preliminar é identificar de forma rápida problemas gerais de acessibilidade em um site. Neste tipo de avaliação, não são verificados todos os problemas de acessibilidade. A avaliação preliminar combina a realização de testes manuais (efetuados de forma não tão detalhada como na Avaliação de Conformidade) de páginas representativas, e o uso de diversas ferramentas semi-automáticas de avaliação de acessibilidade. De acordo com as recomendações para avaliação de acessibilidade do W3C [W3C, 2003a], essa avaliação deve ser efetuada por meio da realização das cinco tarefas apresentadas a seguir: 1. Selecione páginas representativas para ser avaliadas: Devem ser selecionadas as páginas que serão mais visitadas em um site, como a página de entrada e outras páginas mais acessadas pelos usuários. Também devem ser selecionadas páginas com diferentes funcionalidades e layouts, contendo tabelas, formulários, conteúdo gerado dinamicamente, scripts e outros recursos. 2. Examine as páginas utilizando navegadores gráficos: Utilizando navegadores com interface gráfica (como Mozilla Firefox, Internet Explorer, Opera, e outros), examine as páginas selecionadas alterando algumas configurações, e verificando o comportamento das páginas em diferentes situações, por exemplo: desabilite a exibição de imagens e verifique se os textos alternativos estão disponíveis; desabilite o som e verifique se o conteúdo é compreensível por meio dos textos alternativos; varie o tamanho da fonte; utilize diferentes resoluções de tela; utilize somente tons de cinza para verificar o contraste das cores; navegue na página utilizando o teclado. 3. Examine as páginas utilizando navegadores especializados: Utilize navegadores dotados de leitores de tela por voz (por exemplo, o WebVox e Home Page Reader) e navegadores textuais (por exemplo, o Lynx) e examine as páginas buscando identificar se: (a) as informações disponíveis via voz ou texto são equivalentes às informações disponíveis via navegador gráfico e (b) as informações apresentadas fazem sentido mesmo quando lidas de forma serial. 4. Utilize ferramentas automáticas de avaliação de acessibilidade: Realize testes com pelo menos duas ferramentas de avaliação automática. Note que estas ferramentas somente irão identificar problemas que podem ser avaliados automaticamente, de forma que os dados gerados por somente estes testes não podem determinar o nível de conformidade de uma página com as recomendações. As ferramentas de avaliação automática percorrem o código de uma página e examinam diversos pontos de verificação (checkpoints) de acessibilidade, e acusam problemas de acessibilidade quando é possível determinar a sua existência deterministicamente, ou informam a existência de possíveis problemas de acessibilidade que devem ser verificados manualmente, quando se trata de problemas mais subjetivos. Existem diversas ferramentas que realizam avaliação automática de acessibilidade, como a WebXACT [Watchfire, 2003], a CynthiaSays [HiSoftware, 2003], e a brasileira Da Silva [Acesso Brasil, 2004], entre outras. A qualidade das avaliações varia de acordo com a forma como cada ferramenta implementa a averiguação dos pontos de verificação, e de fatores como precisão, detecção de problemas reais e emissão de “falsos positivos”. Uma comparação entre ferramentas de avaliação automática de acessibilidade pode ser encontrada em [Brajnik, 2004]. A ferramenta Da Silva efetua avaliações utilizando tanto as recomendações de acessibilidade do WCAG, quanto as recomendações do modelo de acessibilidade de governo eletrônico brasileiro (e-MAG). Na Figura 7.6 é ilustrado o resultado da avaliação da página inicial do WebMedia 2005 com esta ferramenta, utilizando as recomendações do WCAG. São indicadas as quantidades de erros de acessibilidade encontrados por nível de prioridade, e a quantidade de avisos de pontos que podem conter problemas de acessibilidade. Além disso, para cada problema ou aviso é indicada a linha da ocorrência. Atualmente, as ferramentas de avaliação automática ainda não são capazes de avaliar conteúdo gerado dinamicamente. Desta forma, somente é possível efetuar avaliação destas páginas utilizando amostras. Alguns trabalhos têm sido realizados no sentido de desenvolver métodos e ferramentas para apoiar a avaliação automática de páginas geradas dinamicamente. Os autores [Stone and Dhiensa, 2004] propõem um método para avaliação automática de páginas geradas por meio de scripts, e [Freire and Fortes, 2005] propõem um método para avaliação automática de páginas geradas por meio de transformações XSLT (XSL Transformations) [W3C, 1999b]. 5. Sumarize os resultados obtidos: Relacione os tipos de problemas encontrados, assim como os aspectos positivos encontrados que podem ser adotados como boas práticas para a construção do site. Indique o método pelo qual os problemas foram identificados, e indique claramente que eles não são frutos de uma avaliação de conformidade completa. Em seguida, indique as tarefas a serem realizadas a seguir, inclusive a avaliação de conformidade completa, que compreende a avaliação da linguagem de marcação e outros testes. Também aponte e relacione dicas de como solucionar os problemas encontrados. Figura 7.6. Avaliação de Acessibilidade da página inicial do WebMedia 2005 com a ferramenta Da Silva Avaliação de Conformidade A avaliação de conformidade é utilizada para verificar o grau de conformidade de um site com os padrões de acessibilidade, por exemplo, o WCAG. A forma de realizar uma avaliação de conformidade é similar a de uma avaliação usando o método de revisão de diretrizes (guidelines) de usabilidade [Rocha and Baranauskas, 2003]. Ao contrário da avaliação preliminar, o objetivo deste método é encontrar problemas de acessibilidade mais específicos, envolvendo não só a avaliação utilizando ferramentas automáticas, mas também a avaliação manual de páginas representativas selecionadas de forma sistemática. Segundo as recomendações para avaliação de acessibilidade do W3C [W3C, 2003a], a avaliação de conformidade deve ser efetuada por meio da realização das quatro tarefas a seguir: 1. Definir o escopo da avaliação: Antes de iniciar a avaliação é preciso definir o escopo da avaliação do site e o nível de conformidade com as diretrizes de acessibilidade esperado. Após definir estes parâmetros, de acordo com o contexto em que se insere o projeto, selecione páginas representativas do site, como a página de entrada e outras páginas mais acessadas pelos usuários para realizar avaliação manual de acessibilidade. Além disso, também identifique e enumere todas as páginas do site para serem avaliadas utilizando ferramentas automáticas e semi-automáticas. 2. Efetue a avaliação utilizando ferramentas automáticas: Avalie a conformidade das linguagens de marcação e de folhas de estilo, utilizando todas as ferramentas de validação aplicáveis sobre o conjunto de amostra de páginas selecionado. Também realize a avaliação de todas as páginas do site com pelo menos uma das ferramentas. Devem ser utilizadas ferramentas para avaliação do código HTML (por exemplo, HTML Validation Service [W3C, 2003b] ou HTML Tidy [Raggett, 2003]) e das folhas de estilo (por exemplo, CSS Validator [W3C, 2004]). Realize a avaliação de todas as páginas do site utilizando pelo menos uma ferramenta de avaliação automática ou semi-automática, e tome nota dos problemas encontrados. 3. Avalie manualmente o conjunto de páginas representativas selecionadas: Realize a avaliação manual de todas as páginas representativas selecionadas, examinando cada um dos pontos de verificação do WCAG aplicáveis ao site (definidos na primeira atividade da avaliação, de acordo com o nível de conformidade desejado). Em particular, devem ser analisados com cuidado os pontos que não podem ser avaliados automaticamente. Da mesma forma que na avaliação preliminar, também avalie as páginas selecionadas utilizando navegadores com interface gráfica (como Mozilla Firefox, Internet Explorer, Opera, e outros). Contudo, para uma avaliação de conformidade, devem ser realizados testes mais rigorosos do que os testes realizados na avaliação preliminar. Para a realização desses testes, verifique cada página alterando as configurações do navegador, e também sem utilizar o mouse. Faça testes com a página desabilitando o uso de folhas de estilo, scripts, applets e de outros programas que possam estar presentes na página e verificando se ainda assim é possível navegar na página e compreender o seu conteúdo. Utilize navegadores alternativos dotados de leitores de tela (por exemplo, o WebVox e Home Page Reader) e navegadores textuais (por exemplo, o Lynx) e, da mesma forma que na avaliação preliminar, examine as páginas buscando identificar se: (a) as informações disponíveis via voz ou texto são equivalentes às informações disponíveis via navegador gráfico e (b) as informações apresentadas fazem sentido mesmo se lidas de forma serial. Também devem ser avaliados critérios como a facilidade de leitura e de compreensão do conteúdo do site. Para tanto, leia todo o conteúdo e avalie o quanto ele é claro e simples de acordo com o próposito do site. 4. Sumarize os resultados obtidos: Relacione todos os problemas e os usos de “melhores práticas” encontradas em cada tipo de página, e liste a URL de cada uma delas, assim como o método utilizado para identificação do problema. Liste também todos os reparos sobre barreiras de acessibilidade a serem realizados, e também aponte aspectos positivos de acessibilidade do site. Indique como será efetuada a manutenção e como será realizado o monitoramente da sua realização. 7.7. Conclusões A universalização do acesso à informação tem estado cada vez mais em evidência. A inclusão de pessoas portadoras de necessidades especiais, bem como a viabilização do acesso ao conteúdo por meio de dispositivos ubíquos e móveis tem sido um grande desafio tecnológico e cultural. Para atender a essa demanda, é necessário que o profissional da área de Tecnologia da Informação esteja capacitado para desenvolver aplicações sob a ótica do Design Universal, levando em conta os recursos de tecnologia assistiva e de dispositivos não convencionais. Em particular, no contexto da acessibilidade na Web, essa demanda se faz ainda mais urgente, por se tratar de uma tecnologia em constante evolução e por possuir caráter extremamente dinâmico. Atender a requisitos de acessibilidade na Web significa ampliar a abrangência de usuários nos diversos setores ainda pouco explorados na Web hoje. No comércio eletrônico, por exemplo, isso pode significar mais vendas e maior interação com o cliente; no governo eletrônico, isso significa maior inclusão digital e possibilidade para a população de um maior exercício da cidadania; na sociedade, isso pode promover maior interação com a população mais idosa, que tem recebido pouca atenção e tem sido pouco incluída na Sociedade da Informação. Diante do crescimento cada vez maior do interesse da indústria e da comunidade científica pelo avanço de tecnologias acessíveis, bem como da preocupação dos governos em promover a acessibilidade na Web através da legislação, se faz urgente que os desenvolvedores se conscientizem da importância do tema. De encontro com essas necessidades, neste capítulo foram abordadas as principais diretrizes de acessibilidade recomendadas pelo W3C, e foram apresentadas técnicas para apoiar a criação e avaliação de conteúdo em aplicações Web de acordo com as normas de acessibilidade. O conteúdo apresentado neste capítulo é um ponto de partida para aprofundamento do estudo sobre acessibilidade na Web. Recomenda-se que os leitores continuem explorando o tema, que apresenta diversos desdobramentos tecnológicos, sociais e culturais. Sugere-se também aos colegas pesquisadores que busquem investigar inovações e soluções para diversos dos problemas ainda em aberto no que se refere a acessibilidade na Web, envolvendo pesquisas nas mais diversas áreas de Computação como Hipermídia, Interação Humano-Computador, Engenharia de Software, Computação Ubíqua, Redes, Multimídia e outras. Agradecimentos Agradecemos à FAPESP e à FINEP pelo apoio financeiro para o desenvolvimento deste trabalho. Referências [Acesso Brasil, 2004] Acesso Brasil (2004). daSilva. http://www.acessobrasil.org.br. Acesso em janeiro/2004. Disponível online em [Barbosa, 2003] Barbosa, M. B. (2003). Elaboração de normas técnicas voltadas à acessibilidade na comunicação. In Anais do II Seminário ATIID - Acessibilidade, TI e Inclusão Digital, São Paulo-SP. Disponível online em http://www.fsp.usp.br/acessibilidade. [Berliss-Vincent, 2000] Berliss-Vincent, J. (2000). International websites relating to assistive technology & universal design. Disability World, (2). [Brajnik, 2004] Brajnik, G. (2004). Comparing accessibility evaluation tools: a method for tool effectiveness. Univers. Access Inf. Soc., 3(3):252–263. [Cook and Hussey, 1995] Cook, A. M. and Hussey, S. M. (1995). Assistive Technologies: Principles and Practice. Mosby - Year Book, Inc. [Freedom Scientific, 2004] Freedom Scientific (2004). JAWS. Disponível online em http://www.freedomscientific.com/. Acesso em dezembro/2004. [Freire and Fortes, 2005] Freire, A. P. and Fortes, R. P. M. (2005). Automatic accessibility evaluation of dynamic web pages generated through xslt. In W4A ’05: Proceedings of the 2005 International Cross-Disciplinary Workshop on Web Accessibility (W4A), pages 81–84, New York, NY, USA. ACM Press. [HiSoftware, 2003] HiSoftware (2003). Cynthiasays. http://www.cynthiasays.com. Acesso em novembro/2003. Disponível online em [Hull, 2004] Hull, L. (2004). Accessibility: it’s not just for disabilities any more. interactions, 11(2):36–41. [IBGE, 2000] IBGE (2000). Censo demográfico 2000. http://www.ibge.gov.br/censo/. Acesso em Setembro/2005. Disponível online em [IBGE, 2005] IBGE (2005). Síntese de indicadores sociais 2004. estudos e pesquisas: Informação demográfica e socioeconômica. [Melo and Baranauskas, 2005] Melo, A. M. and Baranauskas, M. C. C. (2005). Design e avaliação de tecnologia web-acessível. In Jornadas de Atualização em Informática Congresso da SBC, 2005, pages 1500–1545. SBC. [NCE-UFRJ, 2004] NCE-UFRJ (2004). Projeto DOSVOX. Disponível online em http://intervox.nce.ufrj.br/dosvox/ . Acesso em dezembro/2004. [Nielsen, 2000] Nielsen, J. (2000). Designing Web Usability. New Riders Publishing. [Petrie et al., 2003] Petrie, H., Hamilton, F., and King, N. (2003). Tension? what tension?: website accessibility and visual design. SIGCAPH Comput. Phys. Handicap., (76):6–7. [Plone, 2004] Plone (2004). Plone: A user-friendly and powerful open source Content Management System. Disponível online em http://www.plone.org. Acesso em julho/2004. [Raggett, 2003] Raggett, D. (2003). Html tidy. Disponível online em http://www.w3.org/People/Raggett/tidy/. Acesso novembro/2003. [Regan, 2004] Regan, B. (2004). Accessibility and design: a failure of the imagination. In W4A ’04: Proceedings of the 2004 international cross-disciplinary workshop on Web accessibility (W4A), pages 29–37, New York, NY, USA. ACM Press. [Rocha and Baranauskas, 2003] Rocha, H. V. and Baranauskas, M. C. C. (2003). Design e Avaliação de Interfaces Humano-Computador. EdUnicamp. [Serpro, 2004] Serpro (2004). Acessibilidade na Web. Disponível online em http://www.serpro.gov.br/acessibilidade. Acesso em dezembro/2004. [Stone and Dhiensa, 2004] Stone, R. G. and Dhiensa, J. (2004). Proving the validity and accessibility of dynamic web-pages. In W4A: Proceedings of the international crossdisciplinary workshop on Web accessibility, pages 45–49. ACM Press. [Sun Microsystems, 2005] Sun Microsystems (2005). Java Accessibility API. Disponível online em http://java.sun.com. Acesso em janeiro/2005. [Thatcher et al., 2002] Thatcher, J., Bohman, P., Burks, M., Henry, S. L., Regan, B., Swierenga, S., and Urban, M. (2002). Constructing Accessible Web Sites. Glasshaus. [U.S. Government, 2003] U.S. Government (2003). Section 508. Disponível online em http://www.section508.gov. Acesso em novembro/2003. [W3C, 1999] W3C (1999). HTML 4.01 Specification. http://www.w3.org/TR/html4/. Acesso em novembro/2003. Disponível online em [W3C, 1999a] W3C (1999a). Web Content Acessibility Guidelines 1.0. Disponível online em http://www.w3.org/TR/WCAG10/. Acesso em novembro/2003. [W3C, 1999b] W3C (1999b). XSL Transformations (XSLT). Disponível online em http://www.w3c.org/TR/xslt. Acesso em janeiro/2004. [W3C, 2000] W3C (2000). CSS level 2 Recomendation (CSS 2). Disponível online em http://www.w3.org/TR/css2. Acesso em novembro/2003. [W3C, 2000] W3C (2000). Techniques For Web Content Acessibility Guidelines 1.0. Disponível online em http://www.w3.org/TR/WAI-WEBCONTENT-TECHS/. Acesso em dezembro/2003. [W3C, 2003a] W3C (2003a). Evaluating web sites for accessibility. Disponível online em http://www.w3c.org/WAI/eval. Acesso em novembro/2003. [W3C, 2003b] W3C (2003b). W3c markup validation service. Disponível online em http://validator.w3.org/. Acesso em novembro/2003. [W3C, 2004] W3C (2004). Css validation service. Disponível online em http://jigsaw.w3.org/css-validator/. Acesso em novembro/2004. [W3C, 2004] W3C (2004). W3C Internationalization Activiry. Disponível online em http://www.w3.org/International/. Acesso em fevereiro/2004. [Watchfire, 2003] Watchfire (2003). Webxact. Disponível http://webxact.watchfire.com. Acesso em novembro/2003. online em