UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CAMPUS CORNÉLIO PROCÓPIO ESPECIALIZAÇÃO EM TECNOLOGIA JAVA JADER GUSTAVO DE CAMPOS SANTOS ACESSIBILIDADE EM APLICAÇÕES DESKTOP UTILIZANDO FERRAMENTAS JAVA MONOGRAFIA DE ESPECIALIZAÇÃO CORNÉLIO PROCÓPIO 2010 JADER GUSTAVO DE CAMPOS SANTOS ACESSIBILIDADE EM APLICAÇÕES DESKTOP UTILIZANDO FERRAMENTAS JAVA Monografia apresentada como requisito parcial para obtenção do título de Especialista em Tecnologia Java pela Universidade Tecnológica Federal do Paraná - Campus Cornélio Procópio. Orientador: Pansanato Prof. Dr. CORNÉLIO PROCÓPIO 2010 Luciano Tadeu Esteves MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CAMPUS CORNÉLIO PROCÓPIO DIRETORIA DE PESQUISA E PÓS-GRADUAÇÃO CURSO DE ESPECIALIZAÇÃO EM TECNOLOGIA JAVA PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ JADER GUSTAVO DE CAMPOS SANTOS ACESSIBILIDADE EM APLICAÇÕES DESKTOP UTILIZANDO FERRAMENTAS JAVA Monografia apresentada ao Curso de Especialização em Tecnologia Java da Universidade Tecnológica Federal do Paraná - Campus Cornélio Procópio. Nota _______________________________. COMISSÃO EXAMINADORA _______________________________________ Prof. Dr. Luciano Tadeu Esteves Pansanato Universidade Tecnológica Federal do Paraná _______________________________________ Prof. Ms. Eduardo Cotrin Teixeira Universidade Tecnológica Federal do Paraná _______________________________________ Prof. Ms. Francisco Pereira Junior Universidade Tecnológica Federal do Paraná Cornélio Procópio, _____de ___________de _____. AGRADECIMENTOS Agradeço primeiramente a Deus por ter aberto as portas certas em minha vida e por ter me acompanhado sempre. À minha família por ter compreendido a minha ausência em alguns momentos para que eu pudesse concluir esse trabalho. Também ao meu Orientador, o Professor Dr. Luciano Tadeu Esteves Pansanato pelo incentivo, simpatia e presteza no auxílio às atividades durante o andamento e normatização desta Monografia. Agradeço ainda aos meus amigos, em especial ao Marcio Gabriel (in memorian) que se fez sempre solícito durante todo o período em que estudamos juntos, pela sua simpatia e carisma. A todos os professores que tentaram compartilhar um pouco do seu conhecimento, contribuindo para a formação do nosso pensamento crítico. E por último, aos que de uma forma direta ou indireta auxiliaram para a realização deste trabalho. “Nós não devemos deixar que as incapacidades das pessoas nos impossibilitem de reconhecer as suas habilidades.” ( Hallahan e Kauffman, 1994) RESUMO SANTOS, Jader Gustavo de Campos. Acessibilidade em Aplicações Desktop Usando Ferramentas Java. 2010. 36 f. Monografia (Especialização em Tecnologia Java) - Programa de Pós - Graduação Lato Sensu - Universidade Tecnológica Federal do Paraná, Cornélio Procópio, 2010. A acessibilidade é um assunto que é alvo de vários estudos nas mais diversas áreas porque o número de pessoas portadoras de algum tipo de necessidade especial é relevante tanto. O presente trabalho tem seu foco na acessibilidade digital, visto que a tecnologia da informação vem ganhando espaço na sociedade e está presente no dia a dia dos cidadãos. Existem diversas ferramentas que dão apoio a esse público específico, chamadas de tecnologias assistivas. Para que essas tecnologias possam funcionar de maneira satisfatória é necessário preparar as aplicações durante o desenvolvimento para que estas se tornem acessíveis. A tecnologia Java possui uma API (Interface de Programação de Aplicativos) específica, a API Java Accessibility, que contém classes e interfaces que, quando aplicadas, garantem ao software se tornar acessível às tecnologias assistivas. O presente trabalho teve como objetivo fazer um levantamento das ferramentas Java que proporcionam a acessibilidade às aplicações desktop. O uso da API Java Accessilibity e o pacote de utilitários de acessibilidade para fornecer apoio à API são suficientes para prover a acessibilidade. Palavras chave: Acessibilidade. Tecnologia Java. Inclusão Digital. ABSTRACT SANTOS, Jader Gustavo de Campos. Accessibility in Desktop Applications Using Java Tools. 2010. 36 f. Monografia (Especialização em Tecnologia Java) Programa de Pós - Graduação Lato Sensu - Universidade Tecnológica Federal do Paraná, Cornélio Procópio, 2010. Accessibility is a subject of several studies in different areas because of the number of people with some kind of disability is relevant. The present work is focused on digital accessibility, since the information technology has gained importance in society and the technology is present in the daily lives of citizens. There are several tools that give support to this specific audience, called assistive technologies. For these technologies work satisfactorily is necessary to prepare the applications during the development so that they become accessible. The Java technology has a specific API (Application Programming Interface), the Java Accessibility API, which contains classes and interfaces that, when applied, ensures that the software becomes accessible to assistive technologies. The present work aimed to do a survey of Java tools that provide accessibility to desktop applications. The use of Java Accessibility API and the utilities package to provide support for the API are enough to provide accessibility. Keyword: Accessibility. Java Technology. Digital Inclusion. LISTA DE FIGURAS Figura 1 - Desafios para a Inclusão Digital ................................................................ 13 Figura 2 - Inclusão..................................................................................................... 14 Figura 3 - Interface como responsável pelas conexões homem-computador ........... 19 Figura 4 - Adaptações Físicas ................................................................................... 19 Figura 5 - Teclado Expandido ................................................................................... 20 Figura 6 - Diagrama de como a Java Accessibility Bridge trabalha........................... 24 LISTA DE QUADROS Quadro 1 - Interface X Deficiência motora ................................................................ 20 Quadro 2 - Interface X Deficiência visual .................................................................. 20 Quadro 3 - Interface X Deficiência auditiva ............................................................... 21 Quadro 4 - Interface X Deficiência mental ................................................................. 21 Quadro 5 - Checklist de acessibilidade para Software IBM - Versão 3.6 .................. 27 LISTA DE SIGLAS API Application Programming Interface IHC Interação Homem-Computador JFC Java Foundation Classes PNE Pessoa com Necessidades Especiais TICs Tecnologias da Informação e Comunicação SUMÁRIO 1. INTRODUÇÃO ................................................................................................................ 11 2. INCLUSÃO DIGITAL DE PESSOAS COM NECESSIDADES ESPECIAIS ........ 13 3. ACESSIBILIDADE ......................................................................................................... 16 3.1. ACESSIBILIDADE DIGITAL ......................................................................................... 16 3.2. TECNOLOGIA ASSISTIVA ........................................................................................... 17 4. ACESSIBILIDADE COM TECNOLOGIA JAVA ....................................................... 23 4.1. REQUISITOS DE ACESSIBILIDADE PARA APLICAÇÕES ............................... 25 4.2. A API JAVA ACCESSIBILITY ............................................................................. 27 4.3. CLASSES E INTERFACES DA API JAVA ACCESSIBILITY .............................. 28 5. CONCLUSÃO ................................................................................................................. 32 REFERÊNCIAS ..................................................................................................................... 34 11 1. INTRODUÇÃO A inclusão social é um tema que vem sendo discutido com freqüência. Conseqüentemente, também, vêm sendo discutidas também as questões da inclusão digital, pois as pessoas estão inseridas em um contexto em que cada vez mais se tornam dependentes da informação nas suas atividades rotineiras, fenômeno este chamado de sociedade da informação. Essa sociedade da informação vem alterando os hábitos da vida cotidiana porque as tecnologias da informação estão presentes nas escolas, bancos, lojas, casas. Depara-se com isso ao utilizar equipamentos domésticos, aparelhos celulares, computadores, ou até mesmo consultar a situação bancária em um terminal de auto-atendimento. Para Balboni (2007), neste novo contexto global, a informação passou a ser o produto mais importante para o desenvolvimento econômico, político e social de cada nação. Entretanto, boa parte da população vive às margens dessas tecnologias por não saber como manuseá-las. O problema da exclusão digital ganha uma dimensão ainda mais complexa quando o usuário é portador de necessidades especiais. Isso porque, além dos fatores sócio-econômicos, existem as barreiras físicas que dificultam o acesso do usuário ao computador. Portanto, é necessário ressaltar questões sobre a acessibilidade, tanto física e arquitetônica, quanto nos softwares instalados nos computadores. No entanto, deve-se pensar em acessibilidade de forma consciente, visto que existem até mesmo leis federais que garantem aos usuários esse tipo de serviço. A motivação para esse trabalho surge da necessidade de levantar informações que possam colaborar para a redução do quadro de pessoas portadoras de necessidades especiais que estão excluídas digitalmente. No Brasil, no último censo demográfico realizado, foi constatado que pelo menos 14% da população possuem algum tipo de deficiência, sendo ela física ou mental (IBGE, 2000). Existem atualmente algumas ferramentas disponíveis para esse grupo de pessoas. Essas ferramentas são softwares que fornecem auxilio aos usuários, chamadas tecnologias assistivas, e estão incluídos os leitores de tela, sintetizadores 12 de voz, teclados virtuais, etc. Para que essas tecnologias possam funcionar de maneira satisfatória, é necessário que os programas que os usuários utilizam forneçam suporte para essas ferramentas. Neste trabalho, é apresentado um estudo das ferramentas Java que garantem a acessibilidade em aplicações desktop, sendo identificada a existência de uma API de acessibilidade que garante às aplicações o necessário para trabalhar em conjunto com as tecnologias assistivas. Para fornecer uma abordagem do assunto, esta monografia foi dividida em 5 capítulos. O primeiro capítulo envolve a presente introdução. No capítulo dois, o foco é sobre a inclusão digital de pessoas com necessidades especiais, abordando o conceito de inclusão digital e os tipos de necessidades especiais. Na sequência, o capítulo 3 apresenta um resumo geral sobre a acessibilidade, com foco na acessibilidade digital, trazendo os conceitos e as vantagens para os usuários. Ainda no capítulo 3, é feito um estudo sobre as tecnologias assistivas, esclarecendo os conceitos e os principais recursos disponíveis. No capítulo 4, é apresentada a acessibilidade mediada pela tecnologia Java, são levantados os requisitos de acessibilidade para as aplicações e é apresentada a API Java Accessibility, que garante o suporte para as tecnologias assistivas. Em seguida, no capítulo 5, é apresentada a conclusão. 13 2. INCLUSÃO DIGITAL DE PESSOAS COM NECESSIDADES ESPECIAIS Para Hazard et. al. (2007), após muito tempo de rejeição e abandono nos dois últimos séculos, as pessoas com deficiência passaram a ser objeto de políticas especiais que visam à qualificação ou habilitação dessas pessoas para que elas possam se interagir na sociedade. Ao se discutir sobre inclusão digital, deve-se considerá-la como sendo um processo que envolve muito mais que ter ou não acesso a um computador, é preciso o indivíduo ter a capacidade de operá-lo com autonomia. Nesse sentido, Azevedo e Barros (2004) consideram a inclusão como o movimento permanente na busca de igualdade de condições e oportunidades para evitar diversas situações de privação. O desafio está, portanto, em oferecer, de maneira permanente, igualdade na condição de obtenção dessas oportunidades. Para Passerino e Montardo (2007), a questão envolve muito mais que indivíduos incluídos ou excluídos, e sim de grupos em contextos sociais que participam do fenômeno da inclusão como processo social em busca de melhoria na qualidade de vida dos membros do grupo. Para inserir esses membros da sociedade na era digital, surgem alguns desafios da inclusão digital, ilustrados na figura 1: favorecer o acesso do cidadão ao mundo virtual, reduzir o analfabetismo digital (que implica em fornecer noções básicas sobre sistemas informatizados) e melhorar a qualidade da interface gráfica disponibilizada, adaptando-a ao seu público-alvo (SILVINO E ABRAHÃO, 2003). Figura 1 - Desafios para a Inclusão Digital Fonte: Silvino e Abrahão (2003). 14 Para as pessoas com necessidades especiais (PNEs), o processo de inclusão digital envolve barreiras arquitetônicas, de comunicação e de acesso físico a equipamentos e programas adequados, onde são necessárias ferramentas que possibilitem uma adaptação do equipamento para que o usuário possa utilizá-lo de maneira satisfatória, como ilustrado na figura 2. Para os PNEs as dificuldades para utilização de computadores vão além do acesso às máquinas e à rede, pois eles apresentam diferentes tipos de deficiências para as quais os softwares e hardwares, de forma geral, não estão preparados (ALVES et. al., 2002). Figura 2 - Inclusão por meio de adaptação física Fonte: Soares (2008). O número de brasileiros com necessidades especiais ultrapassa 24,6 milhões de pessoas, isto é, 14% da população brasileira é constituída por pessoas com pelo menos algum tipo de deficiência (IBGE, 2000). Essa parcela da população é considerada “com necessidades especiais” por se enquadrar em uma das seguintes categorias contidas no Decreto no 3.298, de 20 de dezembro de 1999: Deficiência física: alteração completa ou parcial de um ou mais segmentos do corpo humano, acarretando o comprometimento da função física, apresentando-se sob a forma de paraplegia, paraparesia, monoplegia, monoparesia, tetraplegia, tetraparesia, triplegia, triparesia, hemiplegia, hemiparesia, amputação ou ausência de membro, paralisia cerebral, 15 membros com deformidade congênita ou adquirida, exceto as deformidades estéticas e as que não produzam dificuldades para o desempenho de funções. Deficiência auditiva: perda parcial ou total das possibilidades auditivas sonoras, variando em graus e níveis que vão de 25 decibéis (surdez leve) à anacusia (surdez profunda). Deficiência visual: acuidade visual igual ou menor que 20/200 no melhor olho, após a melhor correção, ou campo visual inferior a 20 (tabela de Snellen), ou ocorrência simultânea de ambas as situações. Deficiência mental: funcionamento intelectual geral significativamente abaixo da média, oriundo do período de desenvolvimento, concomitante com limitações associadas a duas ou mais áreas da conduta adaptativa ou da capacidade do indivíduo em responder adequadamente às demandas da sociedade. Deficiência múltipla: associação, no mesmo indivíduo, de duas ou mais deficiências primárias (mental/visual/auditiva/física), com comprometimentos que acarretam conseqüências no seu desenvolvimento global e na sua capacidade adaptativa. Na tentativa de inclusão social dessas pessoas com necessidades especiais, o avanço das Tecnologias da Informação e da Comunicação (TICs) no país tem sido acompanhado por políticas públicas e privadas, voltadas à inclusão digital, em especial à universalização do acesso à era digital (BALBONI, 2007; MOURÃO et al., 2009). 16 3. ACESSIBILIDADE Ao discutir a inclusão das pessoas com necessidades especiais, é imprescindível levar em consideração as questões de acessibilidade. O Decreto 5.296 de 2 de dezembro de 2004 define a acessibilidade como: “condição para utilização, com segurança e autonomia, total ou assistida, dos espaços, mobiliários e equipamentos urbanos, das edificações, dos serviços de transporte e dos dispositivos, sistemas e meios de comunicação e informação, por pessoa portadora de deficiência ou com mobilidade reduzida.” (BRASIL, 2004). Teixeira (2008) complementa a definição supracitada, afirmando que “a acessibilidade é uma das formas de promoção da equiparação de oportunidades entre os cidadãos”, de modo que se criem possibilidades de acesso, possibilitando que todas as pessoas exerçam sua cidadania de maneira mais justa. 3.1. ACESSIBILIDADE DIGITAL No que diz respeito à acessibilidade digital, o conceito de acessibilidade se aplica ao acesso à informação por algum tipo de dispositivo eletrônico, seja um computador de mesa, um notebook ou celular, de forma que as barreiras sejam quebradas, mediante adaptação de hardware e utilização de softwares especializados. Passerino e Montardo (2007) confirmam essa afirmação destacando que “a acessibilidade digital só pode ser proporcionada através de uma combinação entre hardware e software, que oferecem, respectivamente, os mecanismos físicos para superar barreiras de percepção e o acesso a funções e informações”. De acordo com o modelo de acessibilidade proposto pelo Governo Eletrônico (2005), no que se refere ao acesso ao computador, são identificadas quatro situações adversas para os PNEs: Dificuldades na utilização do mouse: pessoas com deficiências visuais e pessoas com amputações ou dificuldades de movimentos sentem várias 17 dificuldades na utilização do mouse. Portanto, deve-se viabilizar o acesso ao computador sem mouse. Dificuldades na utilização do teclado: pessoas com amputações ou restrições de movimentos têm dificuldades para usar um teclado tradicional. Nesses casos, deve-se viabilizar o acesso ao computador sem teclado, isto é, a interação deve poder ser feita através de um periférico especial ou pelo reconhecimento da voz. Dificuldades na visualização do monitor: como a informação processada por um computador é exibida em um monitor de vídeo, os cegos ou pessoas com dificuldades visuais graves precisam recorrer a um outro dispositivo para obter a informação da tela. Deve-se então ser fornecido um programa leitor de tela, isto é, um software capaz de captar a informação do vídeo e enviá-la para um sintetizador de voz ou para um terminal Braille. Dificuldades na obtenção de sons de dispositivos de áudio: pessoas com problemas de audição possuem dificuldade em acessar informações disponíveis somente através de dispositivos de áudio. Deve-se emitir a informação também de outra forma. O conceito de acessibilidade vem de encontro com esses problemas na tentativa de resolvê-los, de maneira que cada vez mais as pessoas com necessidades especiais possam ter acesso à informação no formato digital. No entanto, para tornar possível a inclusão digital, é necessário fazer uso de tecnologias de apoio para dar suporte às PNEs, conhecidas como tecnologias assistivas. 3.2. TECNOLOGIA ASSISTIVA O termo “assistive technology”, traduzido para o português como tecnologia assistiva, ainda não possui definição nos dicionários da língua portuguesa. No entanto, considerando que a palavra significa alguma coisa que assiste, auxilia, pode-se definir o termo tecnologia assistiva como a tecnologia que dá suporte às pessoas com necessidades especiais, adaptando e/ou fornecendo 18 dispositivos necessários para que essas pessoas possam realizar atividades da maneira mais independente possível. Lima (2003) em seus estudos define que “As tecnologias assistivas, também denominadas de ajudas técnicas, têm como objetivo proporcionar às pessoas com necessidades especiais, maior independência, melhor qualidade de vida e inclusão social, através da ampliação de sua comunicação, mobilidade, controle de seu ambiente, habilidades de seu aprendizado, trabalho e integração com a família, amigos e sociedade.” (LIMA, 2003). A tecnologia assitiva, quando aplicada adequadamente, é fundamental na garantia de acessibilidade às mesmas atividades realizadas pelas pessoas sem necessidades especiais. Essas técnicas podem eliminar ou minimizar as limitações funcionais, permitindo seu desempenho e interação nas mais diversas situações cotidianas como, por exemplo, o acesso à informação e comunicação (MARTINS NETO & ROLLENBERGER, 2006 apud TEIXEIRA, 2008). Neste trabalho, o termo “tecnologia assistiva” designa os equipamentos (hardware) e os programas (software) e se restringe aos componente eletrônicos digitais de hardware (dispositivos de entrada e/ou saída de hardware) e o software, ambos têm como função mediar a interação homem-computador, possibilitando às PNEs a realização de atividades motoras, perceptivas e cognitivas. Considerando o computador como ferramenta de ajuda para PNEs, é preciso diferenciar duas dimensões que envolvem a tecnologia informática, ou seja, o hardware e o software que irão coordenar a Interação Homem-Computador (IHC) (HOGETOP E SANTAROSA, 2002). Hogetop e Santarosa (2002) afirmam ainda que o sucesso na interação PNE-Computador consiste basicamente em ser o mais simples e amigável possível, oferecendo uma ponte através da qual as peculiaridades individuais são contempladas. A figura 3 apresenta os elementos envolvidos na dinâmica da interação PNE-Computador, visto que a interface é a ponte de ligação entre o usuário e o computador. 19 Figura 3 - Interface como responsável pelas conexões homem-computador Fonte: Silveira (1999) apud Lima (2003). No que diz respeito à adaptação física, existem alguns aparelhos ou adaptações que podem ser fixadas no corpo da PNE, como ilustrado na figura 4, e que facilitam a interação desta com o computador. Estabilizador de Punho e abdutor de polegar Pulseira de Pesos Figura 4 - Adaptações Físicas Fonte: Galvão Filho e Damasceno (2008). Existem também adaptações feitas no hardware. Essas adaptações variam de acordo com a deficiência da pessoa com necessidade especial. Essas ajudas técnicas de hardware, como ilustrado na figura 5, podem ser adquiridas ou criadas para atender a necessidade específica da PNE. Dessa maneira, são encontradas com muita freqüência soluções de baixo custo, ou até mesmo gratuitas, mas de alta funcionalidade. 20 Figura 5 - Teclado Expandido Fonte: Prefeitura de São Paulo (2006). Campos e Silveira (1998) fizeram um levantamento das possíveis tecnologias e interfaces a serem empregadas para as pessoas com necessidades especiais, de acordo com o tipo de necessidade, esse levantamento é reforçado por Tanaka (2004). Os quadros 1 a 4 mostram o resultado desses estudos. Privilegiar Sistemas de varredura (simulador de teclado e mouse) Sistemas comunicadores alternativos (tabuleiros) Predição de palavras c/ armazenamento das mais utilizadas Adaptação às preferências do usuário nos sistemas de varredura (p/ controle de velocidade de sistemas de varredura, p. ex.) Boa distribuição das informações na tela Teclado ampliado, tela sensível ao toque/sopro, próteses Quadro 1 - Interface X Deficiência motora Fonte: Campos e Silveira (1998); Tanaka (2004) Privilegiar Uso de som Tamanho grande das fontes Teclado e impressora Braille, monitores de maior tamanho possível, tela sensível ao toque, sistema de som no computador (placa de som, microfone e caixas de som ou fones de ouvido) Quadro 2 - Interface X Deficiência visual Fonte: Campos e Silveira (1998); Tanaka (2004) Evitar Ícones e letras pequenos Uso excessivo de opções na tela Mouse e joystick Evitar Excesso de opções Uso de muitas cores Ícones e letras pequenos Uso excessivo do mouse 21 Privilegiar Uso da língua de sinais Ícones e mensagens na forma gráfica Textos pequenos e claros, com verbos no infinitivo Animações e filmes Vídeo colorido de alta resolução, microfone (treinamento de voz) Evitar Textos longos Linguagem conotativa (não-usual) Mesóclises Onomatopéias, gírias, metáforas, palavras pouco utilizadas Ambigüidades Som (exceto para aqueles com resto auditivo) Quadro 3 - Interface X Deficiência auditiva Fonte: Campos e Silveira (1998); Tanaka (2004) Privilegiar Ambientes abertos como o Logo, que permitem livre interação e possibilidade de análise das interações Interação Ícones Textos pequenos Animações, filmes e sons Teclado, mouse, tela sensível ao toque, sistema de som no computador (placa de som, microfone e caixas de som ou fones de ouvido) Quadro 4 - Interface X Deficiência mental Fonte: Campos e Silveira (1998); Tanaka (2004) Evitar Textos longos Gírias, expressões e palavras pouco utilizadas Já recurso técnico oferecido pelos softwares conta com diversos utilitários. Os programas variam de acordo com as necessidades especiais de cada usuário. Hogetop e Santarosa (2002) exemplificam alguns desses recursos, de acordo com os dispositivos de entrada e saída de dados: Dispositivos de entrada de dados: Acionadores: oferecem uma forma de entrada de informações no computador quando o teclado e/ou o mouse não são possíveis, podendo ser acionado por movimentos como o piscar dos olhos, sopro e gemido; Reconhecimento de voz: é utilizado para o usuário falar um comando ou outra informação para o computador em vez de utilizar o teclado ou o mouse para a entrada de dados. Dispositivos de saída de dados: Sintetizador de Voz: é um processo de produção artificial de voz humana; Leitor de Tela: estes programas vão passando por textos e imagens e, sob a ajuda de um sintetizador de voz, reproduz para a pessoa o que está na tela; 22 Ampliador de Tela: funciona como uma lupa, aumentando o tamanho dos itens exibidos na tela do computador. 23 4. ACESSIBILIDADE COM TECNOLOGIA JAVA Na tentativa de reduzir as barreiras entre as pessoas portadoras de necessidades especiais e o computador, a tecnologia Java conta com recursos que dão suporte à acessibilidade. A questão da acessibilidade foi introduzida na tecnologia Java a partir de março de 1996, por meio de um relatório encomendado pela Sun Microsystems (SUN MICROSYSTEMS, 1998a). Há quatro áreas em que a Sun está construindo apoio para a Acessibilidade na plataforma Java: API Java Accessibility; Java Accessibility Utilities; Java Accessibility Bridge; Pluggable Look and Feel do Java Foundation Classes (JFC). A API (Application Program Interface) Java Accessibility define o contrato entre o os componentes de interface do usuário e uma tecnologia assistiva para o acesso a esse aplicativo Java. Se um aplicativo Java apóia plenamente a API Java Accessibility, então ele é compatível com as tecnologias assistivas, como leitores de tela, ampliadores de tela, etc (ORACLE e SUN, 2004 apud DIAS, 2010). Além da API de acessibilidade, existe também o Java Accessibility Utilities, disponibilizado pela Sun a fim de fornecer acesso aos aplicativos Java, fornecendo suporte necessário para as tecnologias assistivas na localização dos objetos que implementam a API Java Accessibility. Esse conjunto de classes é disponibilizado separadamente da API de acessibilidade (DIAS, 2010). “A fim de fornecer acesso a aplicativos Java, uma tecnologia assistiva requer mais do que a API de acessibilidade: requer também apoio na localização de objetos que implementam a API, bem como suporte para o carregamento na Máquina Virtual Java, rastreamento eventos, etc. O Java Accessibility Utilities fornece esta assistência. (SUN MICROSYSTEMS, 1999).” No que diz respeito a Java Accessibility Bridge, ela funciona como uma ponte entre a JVM e o ambiente nativo. Portanto, pode-se enfatizar que as aplicações Java são executadas em uma ampla variedade de sistemas operacionais, sendo que muitos dos quais disponibilizam tecnologias assistivas (por 24 exemplo, Macintosh, OS/2, Microsoft Windows). Para que as tecnologias de apoio existentes considerem o acesso a aplicativos Java, elas precisam de uma ponte entre o ambiente nativo do sistema operacional e a máquina virtual Java que dá suporte aos recursos de Acessibilidade. Esta ponte, em razão do efeito em parte na máquina virtual Java e parte sobre a plataforma nativa, será ligeiramente diferente para cada plataforma (SUN MICROSYSTEMS, 1998a). Para que as tecnologias assistivas disponíveis nos sistemas operacionais possam fornecer acesso aos aplicativos Java, eles precisam de alguma forma para se comunicar com o suporte de acessibilidade Java. O Java Accessibility Bridge suporta essa comunicação. Esta ponte é uma classe que contém métodos nativos, visto que parte do código dessa classe é realmente fornecido por uma DLL no Sistema Operacional (SO). A tecnologia assistiva em execução no SO, por exemplo, um leitor de tela Macintosh, se comunica com o sistema através da DLL que faz a ponte na parte nativa, que por sua vez se comunica com a máquina virtual Java e de lá para o suporte ao pacote Java Accessibility utility e à API Java Accessibility implementada no aplicativo Java que está fornecendo acesso. A figura 6 exemplifica como é feita a comunicação no Java Accessibility Bridge. Figura 6 - Diagrama de como a Java Accessibility Bridge trabalha Fonte: Sun Microsystens (1998a). O Java Foundation Classes, ou JFC, é um conjunto de novas tecnologias, que representa a base para a criação de aplicativos Java. O "swing", 25 conjunto de componentes de interface do usuário, também é construído com base na JFC, usando uma arquitetura Pluggable Look and Feel. Esta arquitetura separa a implementação dos componentes de interface do usuário de sua apresentação. Em uma base de componente por componente, a apresentação é determinada por meio de programação, e pode ser escolhida pelo usuário. Em vez de uma apresentação visual, o usuário poderia escolher uma apresentação de áudio (ou tátil) como, por exemplo, uma apresentação das informações em Braile, ou uma combinação dos dois. Com este suporte, o usuário não precisaria de um software externo para interpretar a apresentação visual do programa na tela; em vez disso, o acesso seria direto ao programa porque a interação com o usuário acontece em sua modalidade desejada (SUN MICROSYSTENS, 1998a). É importante destacar que, das quatro áreas que a Sun dá suporte às tecnologias assistivas, o foco deste trabalho é a API Java Accessibility, descrita na seção 4.2 deste trabalho. 4.1. REQUISITOS DE ACESSIBILIDADE PARA APLICAÇÕES Para que uma aplicação possa ser considerada acessível, existe um conjunto de critérios que precisam ser atendidos. Os requisitos de acessibilidade da Tecnologia Java seguem os padrões exigidos pela lei americana, uma vez que, desde 1973, quando a Seção 508 da Lei federal de Reabilitação foi criada, os órgãos federais dos Estados Unidos são obrigados a comprar produtos eletrônicos e de tecnologia da informação e serviços que atendam as normas da referida seção (ORACLE E SUN, 2010). Um checklist de acessibilidade foi criado para as aplicações desenvolvidas com a tecnologia Java. No entanto, essa lista de verificação se fundiu ao checklist de acessibilidade dos softwares da IBM, e a lista Java não está mais disponível. Portanto, os desenvolvedores e testadores Java devem usar o checklist de acessibilidade para software da IBM para o cumprimento de todos os requisitos de acessibilidade (IBM, 2009). 26 Compreender a acessibilidade exige uma tomada de consciência das necessidades especiais dos grupos de múltiplos usuários, incluindo pessoas com deficiência e usuários com deficiência em razão da idade. A pessoa com deficiência pode encontrar barreiras que podem ser eliminadas ou minimizadas pelo software. As quatro principais categorias de deficiência são: visão, audição, mobilidade e cognitiva. Assim, a versão 3.6 do checklist de acessibilidade para softwares IBM, lançada em outubro de 2009, é utilizada em (IBM, 2009): Aplicações Eclipse que utilizam o controle Standard Widget Toolkit (SWT); Aplicações Java 2 ou posterior que utilizam Swing; Aplicações Java 1.1.x que utilizam o Abstract Window Toolkit (AWT); Produtos com linha de comando ou interfaces “green screen”; Softwares e aplicações que têm uma interface com o usuário. No Quadro 5 é descrito o checklist da IBM para acessibilidade em Java. Checklist de acessibilidade para Software IBM - Versão 3.6 1 ACESSO AO TECLADO 1.1 Fornecer equivalência no teclado para todas as ações Não interferir nas funcionalidades na acessibilidade do teclado 1.2 incorporadas pelo sistema operacional 2 2.1 2.2 2.3 2.4 3 INFORMAÇÕES DO OBJETO Fornecer um indicador de foco visual que se move entre os objetos interativos conforme o foco de entrada vai mudando. Este indicador de foco deve ser programaticamente exposto pela tecnologia assistiva. Fornecer informação semântica sobre objetos de interface do usuário. Quando uma imagem representa um elemento do programa, a informação veiculada pela imagem também deve estar disponível no texto. Associar rótulos com os controles, objetos, ícones e imagens. Se uma imagem é usada para identificar os elementos programáticos, o significado da imagem deve ser consistente em todo o aplicativo. Quando formulários eletrônicos são utilizados, deve permitir que as pessoas que utilizam a tecnologia assistiva para acessar as informações, elementos de campo e funcionalidade necessária para a o preenchimento e envio do formulário, incluindo todas as direções e e sugestões. SONS E MULTIMÍDIA Fornecer uma opção de sinalização visual para todos os alertas de 3.1 áudio. 3.2 Fornecer alternativas acessíveis para áudio e vídeo significativos. 3.3 Fornecer uma opção para ajuste de volume. Sim Não Planejado N/A Comentários Sim Não Planejado N/A Comentários Sim Não Planejado N/A Comentários 27 (Continuação) 4 4.1 4.2 4.3 4.4 4.5 4.6 TELA Fornecer texto através de sistema padrão de chamada de funções ou através de uma API que suporta a interação com tecnologia assistiva. Uso da cor como um acessório e não como a única forma de transmitir informações ou indicar uma ação. Suporte a configurações do sistema para alto contraste para todos os controles de interface do usuário e área de conteúdo do cliente. Quando a personalização de cores é suportada, fornecer uma variedade de seleções de cores capazes de produzir uma variedade de níveis de contraste. Herdar configurações do sistema para a fonte, tamanho e cor para todos os controles de interface do usuário. Fornecer uma opção para exibir uma animação em modo de apresentação não-animada. 5 TEMPO DE RESPOSTA Fornecer uma opção para ajustar o tempo de resposta de 5.1 instruções cronometradas ou permitir persistir as instruções. Não usar sinalização ou textos brilhantes, objetos, ou outros objetos tendo o brilho com freqüência superior a 2Hz e inferior a 5.2 55 Hz. Quadro 5 - Checklist de acessibilidade para Software IBM - Versão 3.6 Fonte: IBM (2009) Sim Não Planejado N/A Comentário s Sim Não Planejado N/A Comentários Essa lista de verificação é utilizada apenas em softwares desktops; existe um checklist de acessibilidade específico para aplicações Web. 4.2. A API JAVA ACCESSIBILITY O objetivo deste trabalho é estudar as ferramentas que proporcionam a acessibilidade nas aplicações desktop desenvolvidas em Java para as pessoas portadoras de necessidades especiais. Portanto, é apresentada uma abordagem mais detalhada da API Java Accessibility para descrever seus recursos e funcionalidades. Especificamente, a API Java Accessibility define um contrato entre os componentes de interface usados em uma aplicação e a tecnologia assistiva que permite o acesso a essa aplicação Java. Se uma aplicação suporta totalmente a API 28 Java Accessibility, ela é compatível com leitores de tela, ampliadores de tela, e outros tipos de tecnologias assistivas (ORACLE e SUN, 2010). Para garantir melhores resultados, atualizações foram feitas na API de acessibilidade viabilizando uma evolução freqüente. Essas atualizações totalizam 3 versões desde março de 1998, quando foi lançada oficialmente a versão 1.0, até a versão 1.3 lançada em 1999. A API de acessibilidade Java consiste de 8 interfaces e 6 classes que são abordadas na próxima seção (SUN MICROSYSTEMS, 1998b). 4.3. CLASSES E INTERFACES DA API JAVA ACCESSIBILITY Para dar suporte a acessibilidade, a API Java dispõe de algumas interfaces e classes que necessitam ser implementadas. Portanto, essa seção faz uma breve descrição de cada uma dessas classes e interfaces que fazem parte do pacote javax.accessibility da API Java Accessibility. Dentre as Interfaces disponíveis estão (SUN MICROSYSTEMS, 1999): 1. Interface Accessible: é a interface principal da API, sendo que todos os componentes que oferecem suporte à API de acessibilidade devem implementar essa getAccessibleContext, interface. que Ela retorna contém uma um único instância da método, classe AccessibleContext. 2. Interface AccessibleAction: esta interface deve fornecer suporte a qualquer objeto que execute uma ou mais ações. Ela fornece o mecanismo padrão para a tecnologia assistiva determinar quais são as ações bem como informar o objeto o momento de executar essas ações. Qualquer objeto que pode ser manipulado deve apoiar essa interface. Para saber se um objeto suporta a interface AccessibleAction, deve-se usar um objeto AccessibleContext para chamar o método getAccessibleAction(); se o valor de retorno não for nulo, o objeto oferece suporte a essa interface. 3. Interface AccessibleComponent: esta interface deve fornecer suporte a qualquer objeto que é processado na tela. Ela fornece o mecanismo padrão 29 para uma tecnologia assistiva determinar e definir a representação gráfica de um objeto. 4. Interface AccessibleSelection: esta interface fornece o mecanismo padrão para uma tecnologia assistiva determinar quais filhos estão atualmente selecionados, bem como modificar o conjunto de seleção. Qualquer objeto que tenha filhos que podem ser selecionados devem ter suporte para a interface AccessibleSelection. 5. Interface AccessibleText: esta interface deve fornecer suporte a qualquer objeto no qual o texto pode ser editado. Nem todo texto exibido na tela pode ser editado, como por exemplo, o texto contido nos botões, menus, etc, que os usuários não devem manipular. No entanto, os objetos que contenham texto editável, devem implementar a interface AccessibleText para que possam interagir com as tecnologias assistivas. Essa interface também fornece suporte na recuperação dos atributos do caractere em uma determinada posição no texto (fonte, tamanho, estilo, etc.), bem como obter o texto selecionado (se houver), o comprimento do texto e a localização do cursor do texto. 6. Interface AccessibleHypertext: esta interface deve dar suporte a qualquer objeto que apresenta informações na tela no formato de hipertexto. Ela fornece o mecanismo padrão para uma tecnologia assistiva acessar o texto através de seus conteúdos, atributos e localização espacial. Ela também fornece mecanismos padrão para manipulação de links. 7. Interface AccessibleHyperlink: os objetos que são links devem fornecer suporte a essa interface. Um objeto que implementa essa interface será retornado pela chamada do método getLink de um objeto AccessibleHypertext. 8. Interface AccessibleValue: essa interface deve dar suporte a qualquer objeto que suporta um valor numérico como, por exemplo, uma barra de rolagem. Essa interface fornece o mecanismo padrão para uma tecnologia assistiva determinar e definir o valor numérico, bem como obter os valores mínimo e máximo. As classes que compõem a API Java Accessibility são (SUN MICROSYSTEMS, 1999): 30 1. Classe AccessibleContext: essa classe representa o mínimo de informação que todos os objetos retornam e é obtida através da chamada do método getAccessibleContext de um objeto que implementa a interface Accessible. Esta informação inclui o nome acessível, descrição, função e estado do objeto. Essa classe também contém métodos para a obtenção de informações específicas de acessibilidade sobre um componente. Se um componente fornece suporte a essa classe, esses métodos retornam um objeto que implementa AccessibleAction, uma ou mais das seguintes AccessibleComponent, interfaces: AccessibleSelection, AccessibleText, AccessibleHypertext, AccessibleValue. 2. Classe AccessibleRole: essa classe encapsula o papel do objeto acessível na interface do usuário e é obtido através da chamada do método getAccessibleRole em um AccessibleContext. Isso inclui o “Check Box”, “Menu Item”, “Panel”, etc. Esses papéis são identificados pelas constantes desta classe, tais como AccessibleRole.CHECK_BOX, AccessibleRole.MENU_ITEM e AccessibleRole.PANEL. As constantes desta classe apresentam uma enumeração fortemente tipada dos papéis do objeto. Embora esta classe pré-defina uma vasta lista de funções padrão, é possível complementar com funções adicionadas pelo programador futuramente sem precisar modificar a classe base. 3. Classe AccessibleState: esta classe encapsula um estado particular de um objeto acessível. Entre os estados acessíveis estão um objeto da classe AccessibleState que pode assumir os seguintes valores: "Armed", "Busy", "Checked", "Focused", etc. Essas funções são identificadas através das constantes desta classe: AccessibleState.ARMED, AccessibleState.BUSY, AccessibleState.CHECKED e AccessibleState.FOCUSED. A soma de todos esses estados que o objeto pode assumir é chamado de AccessibleStateSet, e pode ser obtido pela chamada do método getAccessibleStateSet em um AccessibleContext. As constantes desta classe também apresentam uma enumeração fortemente tipada dos papéis do objeto, podendo ainda ser adicionadas funções sem modificar a classe base. Como na AccessibleRole, as constantes AccessibleState fornecem um método chamado toDisplayString que obtém a localização da string para a função da classe 31 AccessibleResourceBundle. Como resultado, os programadores podem usar as constantes definidas no AccessibleState para desenvolver aplicações internacionalizadas. 4. Classe AccessibleStateSet: essa classe encapsula um conjunto de estados de um objeto acessível e é obtido pela chamada do método getAccessibleStateSet de um AccessibleContext. Uma vez que um objeto pode ter vários estados (por exemplo, pode ser tanto “Checked” "e “Focused”), essa classe é necessária para encapsular uma coleção desses estados. Os métodos da classe AccessibleStateSet são fornecidos para recuperar o AccessibleStates individual do conjunto de estados. 5. Classe AccessibleBundle: É uma classe abstrata que é usada para manter uma enumeração fortemente tipada. É a super classe de ambas as classes AccessibleRole e AccessibleState. O desenvolvedor normalmente não interage diretamente com essa classe, mas sim com as classes filhas: AccessibleRole e AccessibleState. A classe AccessibleBundle possui um único método, toDisplayString, que permite obter a localização de uma string, sendo que essa seqüência localizada destina-se a ser lida por seres humanos. 6. Classe AccessibleResourceBundle: esta classe contém a localização das strings para as classes AccessibleRole e AccessibleState. Assim como na classe AccessibleBundle, o desenvolvedor não interage diretamente com essa classe, mas sim com as classes filhas: AccessibleRole e AccessibleState. É importante destacar que, para proporcionar a acessibilidade aos aplicativos escritos na linguagem de programação Java, uma tecnologia assistiva exige mais do que a API de acessibilidade Java. Ela também requer um mecanismo para localizar os objetos que implementam essa API, bem como suporte para carregá-la na Máquina Virtual Java, rastreamento de eventos, e assim por diante. Portanto, a API Java Accessibility trabalha em conjunto com a Java Accessibility Utilities que presta essa assistência (ORACLE e SUN, 2010). 32 5. CONCLUSÃO Em meio à evolução da informação disponibilizada cada vez mais no formato digital e considerando que essas informações devem estar ao alcance de todas as pessoas, os estudos sobre a inclusão digital vêm sendo realizados por diversos pesquisadores. Especificamente para pessoas portadoras de necessidades especiais, os obstáculos para o acesso ao computador não se restringe a apenas questões sociais e econômicas, mas também a questões arquitetônicas e físicas. O desenvolvimento de ferramentas e tecnologias para auxiliar as pessoas portadoras de necessidades especiais vem ocorrendo, chamadas de tecnologias assistivas. Algumas dessas ferramentas estão disponíveis no mercado, algumas distribuídas de forma livre, em que o usuário pode utilizá-las sem nenhum ônus financeiro, e outras disponibilizadas mediante o pagamento de licenças. A maioria dos softwares é disponibilizada em inglês, dificultando a utilização destes e os programas confeccionados com o intuito de ajudar, às vezes acabam não funcionando de maneira satisfatória para os PNEs. Portanto, é importante ressaltar a existência da necessidade de ampliação de estudos nesta área para tentar aproximar as tecnologias assistivas da realidade de cada usuário. No que diz respeito à tecnologia Java, as tecnologias disponíveis vem sofrendo atualizações com o intuito de aprimorar as ferramentas que oferecem suporte a acessibilidade aos softwares. Deve ficar claro que somente o uso da API Java Accessilibity não é suficiente para prover a acessibilidade, sendo necessário utilizar o pacote de utilitários para fornecer apoio à API. Outro fator que o desenvolvedor deve ter em mente é que os requisitos de acessibilidade não deve ser um bônus disponibilizado no software, mas sim, colocado como prioridade, pois a acessibilidade vem sendo apoiada por leis federais e internacionais. Neste trabalho, o objetivo foi realizar um levantamento das ferramentas disponibilizadas pela tecnologia Java para apoiar a acessibilidade em aplicações desktop. Assim, a principal contribuição corresponde ao levantamento realizado sobre os recursos disponíveis para essa tecnologia. Entretanto, algumas outras questões são fundamentais para a promoção da inclusão digital dos PNEs que vão desde questões técnicas envolvendo os recursos da API que podem ser testadas e 33 melhoradas, até questões de âmbito social como a conscientização das pessoas envolvidas direta ou indiretamente com as questões de acessibilidade para que cada vez mais esse assunto possa ser introduzido na vida dos cidadãos. 34 REFERÊNCIAS ALVES, A. G.; RAABE, A. L. A.; FISCHER, G. S.; GRANDI, G. Inclusão Digital para Portadores de Necessidades Especiais: Oficinas Lúdicas. In: Comgresso Brasileiro de Computação, 2., 2002, Itajaí. Anais Eletrônicos...Itajaí: UNIVALI, 2002. Disponível em: <http://200.169.53.89/download/CD%20congressos/2002/2%20CBComp/html/artigos /informatica%20na%20educacao/ine013.pdf>. Acesso em: 30 abr 2010. AZEVEDO, P.H., BARROS, J.F. O nível de participação do Estado na gestão do esporte brasileiro como fator de inclusão social de pessoas portadoras de deficiência. R. bras. Ci e Mov. 2004; 12(1): 77-84. BALBONI, M. R. Por de Trás da Inclusão Digital: Uma reflexão sobre o consumo e a produção de informação em centros públicos de acesso à Internet no Brasil. 2007. 223 f. Tese (Doutorado em Ciência da Computação) – Escola de Comunicação e Artes, Universidade de São Paulo, São Paulo, 2007. BRASIL, Decreto-lei nº 5.296, de 2 de dezembro de 2004. Diário Oficial [da] República Federativa do Brasil, Poder Executivo, Brasília, DF, 03 dez. 2004. CAMPOS, M. B.; SILVEIRA, M. S. Tecnologias para a Educação Especial. In: CONGRESSO DA REDE IBEROAMERICANA DE INFORMÁTICA EDUCATIVA, 4., 1998, Brasília. Anais Eletronicos...Brasília: UFRGS, 1998. Disponível em: <http://www.niee.ufrgs.br/eventos/RIBIE/1998/pdf/com_pos_dem/167.pdf>. Acesso em: 20 jul 2010. DIAS, C. O. De Olho na Tela: Requisitos de Acessibilidade em Objetos de Aprendizagem para Alunos Cegos e com Limitação Visual. 2010. 162 f. Dissertação (Mestrado em Educação) – Faculdade de Educação, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2010. GALVÃO FILHO, T. A.; DAMASCENO, L. L. Programa InfoEsp: Premio Reina Sofia 2007 de Rehabilitación y de Integración. In: Boletín del Real Patronato Sobre Discapacidad, Ministerio de Educación, Política Social y Deporte, Madri, Espanha. n. 63, p. 14- 23, ISSN: 1696-0998, abril/2008. GOVERNO ELETRÔNICO. Recomendações de Acessibilidade para a Construção e Adaptação de Conteúdos do Governo Brasileiro na Internet: eMAG, Acessibilidade de Governo Eletrônico Modelo de Acessibilidade. Documento de Referência Versão 2.0. Brasília, 2005. 35 HAZARD, D.; GALVÃO FILHO, T. A.; REZENDE, A. L. A. Inclusão digital e social de pessoas com deficiência: textos de referência para monitores de telecentros. – Brasília: UNESCO, 2007. 73 p. HOGETOP, L.; SANTAROSA, L. M. C. Tecnologias Assistivas: Viabilizando a Acessibilidade ao Potencial Individual. Informática na Educação: Teoria & Prática, Porto Alegre, v. 5, n. 2, p. 103-117, 2002. IBGE. Censo Demográfico e Contagem da População: População residente por tipo de deficiência e cor ou raça. 2000. Disponível em: <http://www.sidra.ibge.gov.br/bda/tabela/protabl.asp?c=2112&i=P&opc134=2&nome =on&qtu8=137&qtu14=1¬arodape=on&tab=2112&opn8=0&opn14=0&unit=0&pov =3&OpcTipoNivt=1&opn1=2&nivt=0&orc86=4&orp=5&qtu3=27&qtu13=27&opv=2&or c134=3&poc86=1&pop=1&opn2=0&orv=2&qtu2=5&sev=93&opc86=1&opp=1&opn3= 0&qtu6=5507&opn13=0&poc134=2&sec86=0&sep=23528&orn=1&qtu7=22&sec134 =0&pon=1&qtu9=558&opn6=0&digt6=&OpcCara=44&proc=1&qtu1=1&opn9=0&cabe c=on&opn7=0&decm=99>. Acesso em: 26 abr 2010. IBM. Software checklist: IBM Software accessibility checklist - Version 3.6. 2009. Disponível em: < http://www03.ibm.com/able/guidelines/software/accesssoftware.html>. Acesso em: 23 jul 2010. LIMA, C. R. U. Acessibilidade Tecnológica e Pedagógica na Apropriação de Tecnologias de Informação e Comunicação por Pessoas com Necessidades Educacionais Especiais. 2003. 186 f. Dissertação (Mestrado em Educação) – Faculdade de Educação, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2003. MOURÃO, A. C.; SANTOS, C. Q.; CARVALHO, L. A.; SILVA, R. H. A.; BORGES, S. S.; MEIRA JR, W. Inclusão Digital e Cidadania: A Experiência do Projeto Cidadão.NET. Belo Horizonte: Trilha Comunicação, 2009. 135p. ORACLE E SUN. Accessibility and the Swing Set: How Swing Can Help You Create Accessible Apps. [2010]. Disponível em: <http://java.sun.com/products/jfc/tsc/articles/accessibility/index.html>. Acesso em: 09 fev 2010. PASSERINO, L. M.; MONTARDO, S. P. Inclusão Social via Acessibilidade Digital: Proposta de Inclusão Digital para Pessoas com Necessidades Especiais. ECompos, 2007. Disponível em: < http://www.compos.org.br/seer/index.php/ecompos/article/view/144/145>. Acesso em: 19 abr 2010. 36 PREFEITURA DE SÃO PAULO. In: Secretaria Municipal da Pessoa com Deficiência e Mobilidade Reduzida. Zona Norte Ganha um Telecentro Acessível. 2006. Disponível em: <http://www.prefeitura.sp.gov.br/cidade/secretarias/pessoa_com_deficiencia/noticias/ ?p=15817>. Acesso em: 09 jun 2010. SILVINO, A. M. D.; ABRAHAO, J. I. Navegabilidade e inclusão digital: usabilidade e competência. RAE electron., São Paulo, v. 2, n. 2, Dec. 2003. Disponível em <http://www.scielo.br/scielo.php?script=sci_arttext&pid=S167656482003000200002& lng=en&nrm=iso>. Acesso em 03 abr. 2010. doi: 10.1590/S167656482003000200002. SOARES, M. Diversidade005.jpg. 2008. 1 fotografia, color. Disponível em: <http://www.mairasoares.com/images/diversidade005.jpg>. Acesso em: 28 maio 2010. SUN MICROSYSTEMS. Accessibility Support for the Java Platform. Sun Java Accessibility Documentation, 1998a. Disponivel em: <http://www.sun.com/access/articles/java.access.support.html>. Acesso em: 09 fev 2010. ______. Java Accessíbility: The Java Accessibility API Interfaces and Classes Version 1.0. 1998b. Disponível em: <http://download.oracle.com/docs/cd/E17802_01/j2se/javase/technologies/accessibili ty/docs/jaccess-1.0/doc/core-api.html>. Acesso em: 29 jul 2010. ______. Java Accessíbility: The Java Accessibility API Interfaces and Classes Versio 1.3. 1999. Disponível em: <http://download.oracle.com/docs/cd/E17802_01/j2se/javase/technologies/accessibili ty/docs/jaccess-1.0/doc/core-api.html>. Acesso em: 29 jul 2010. TANAKA, E. H. Tornando um software acessível às pessoas com necessidades educacionais especiais. 2004. 125 f. Dissertação (Mestrado em Ciência da Computação) – Instituto de Computação, Universidade Estadual de Campinas, Campinas, 2004. TEIXEIRA, V. P. P. Acessibilidade como Fator de Equiparação de Oportunidades para Pessoas com Deficiência na Escola: Análise de Garantias Legais em Países da América Latina. 2008. 122 f. Dissertação (Mestrado em Educação) – Faculdade de Educação, Universidade de São Paulo, São Paulo, 2008.