Proposta de um Modelo de Interacao Humano-Computador … Bonifacio da Silva... · interação...
Transcript of Proposta de um Modelo de Interacao Humano-Computador … Bonifacio da Silva... · interação...
UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA - DEPARTAMENTO DE INFORMÁTICA
ESPECIALIZAÇÃO EM DESENVOLVIMENTO DE SISTEMAS PARA WEB
PROPOSTA DE UM MODELO DE INTERAÇÃO HUMANO-COMPUTADOR
PARA DEFICIÊNTES VISUAIS EM WEBSITES
Winsley Bonifácio da Silva
Prof. Dr. Sérgio Roberto Pereira da Silva Orientador
Maringá - 2006
UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA - DEPARTAMENTO DE INFORMÁTICA ESPECIALIZAÇÃO EM DESENVOLVIMENTO DE SISTEMAS PARA WEB
PROPOSTA DE UM MODELO DE INTERAÇÃO HUMANO-COMPUTADOR
PARA DEFICIÊNTES VISUAIS EM WEBSITES
Winsley Bonifácio da Silva
Trabalho submetido à Universidade Estadual de Maringá
Como requisito para obtenção do título de
Especialista de Desenvolvimento de Sistemas para Web.
UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA - DEPARTAMENTO DE INFORMÁTICA ESPECIALIZAÇÃO EM DESENVOLVIMENTO DE SISTEMAS PARA WEB
Winsley Bonifácio da Silva
PROPOSTA DE UM MODELO DE INTERAÇÃO HUMANO-COMPUTADOR
PARA DEFICIÊNTES VISUAIS EM WEBSITES
Profa. Ms. Josiane Melchiori Pinheiro Ferreira Ass.: __________________ Profa. Ms. Raqueline Ritter de Moura Penteado Ass.: __________________ Prof. Dr. Sérgio Roberto. Pereira da Silva (Orientador) Ass.: __________________
DEDICATÓRIA
Consagro este trabalho a Deus e o dedico a meus
familiares e amigos que me deram total ajuda e
carinho para que eu pudesse realizar esta
Monografia e especialmente a minha esposa
Viviane e minha filha Eloísa, que foram as mais
penalizadas com a minha ausência por horas de
dedicação a esta Monografia.
AGRADECIMENTOS
Agradeço este trabalho primeiramente a
Deus por ter me capacitado com
inteligência e sabedoria para que pudesse
realizar esta Monografia. Também
agradeço a minha amada, paciente e
apoiadora esposa Viviane e minha filha
Eloísa, a minha mãe Pascoalina que a vida
inteira fez tudo que estava ao alcance para
me ajudar e para que eu chegasse até aqui,
a meu querido e estimado irmão Roniés que
sempre foi uma referência e exemplo para
mim e que sempre me ajudou e apoiou, e ao
meu orientador, Professor Sérgio Roberto
Pereira da Silva, e também a todos aqueles
que direta ou indiretamente contribuíram
para a conclusão desta Monografia.
1
RESUMO
Recentemente podemos perceber um crescente interesse do governo dentre outras
instituições, na inclusão social e digital de pessoas portadoras de deficiências físicas. Um
fato relevante nesse sentido foi a promulgação da Lei Federal N°5.296 que favorece os
portadores de deficiências físicas em várias regulamentações. Em seu capítulo VI – que
trata do acesso a informação e à comunicação – fica determinado a obrigatoriedade de
acessibilidade nos portais e sítios eletrônicos da administração pública para pessoas
portadoras de deficiências visuais, garantindo-lhes o pleno acesso às informações
disponíveis. Neste contexto, diferentes tecnologias estão sendo empregadas para permitir
a interação de deficientes visuais. Porém, uma característica desses sistemas é a
necessidade de instalação no computador do usuário de softwares específicos para
permitir a acessibilidade. O presente estudo tem o propósito de propor um modelo de
interação humano-computador para pessoas portadoras de deficiências visuais em
websites que não requerem a instalação adicional de softwares específicos para
estabelecimento da interação. Neste estudo, foi desenvolvido e implementado um
software protótipo para a criação e ativação de websites com interface para deficientes
visuais, que possibilitou constatar se os objetivos inicialmente propostos para o modelo
de interação foram alcançados.
2
SUMÁRIO
RESUMO ............................................................................................................. 1
1 INTRODUÇÃO....................................................................................................
3
2 Fundamentação teórica ..................................................................................... 52.1 Conceituação de sistema e seus componentes ...................................................... 5
2.2 Usabilidade ........................................................................................................... 6
2.3 Ergonomia ............................................................................................................ 7
2.4 Design de interfaces de software .......................................................................... 9
2.5 Padrões web (web standards) e padrões de acessibilidade ................................... 13
2.6 Avaliação de Acessibilidade ................................................................................. 16
2.7 Avaliadores e validadores automáticos de acessibilidade .................................... 17
2.8 Desenho de Padrões (Design Patterns) ................................................................ 19
2.9 Lei de acessibilidade ............................................................................................. 35
2.10 Sintetizadores e leitores de voz ............................................................................ 38
2.11 CMS – Content Management System .................................................................. 39
2.12 Considerações finais ............................................................................................. 41
3 RESULTADO DA PESQUISA ......................................................................... 423.1 A forma de organização das informações na aplicação ........................................ 43
3.2 Funcionamento do software aplicativo protótipo ................................................. 45
3.3 O modelo de interação proposto ........................................................................... 48
3.4 Exemplos de interação utilizando a interface para deficientes visuais ................. 50
4 CONCLUSÕES ................................................................................................... 56
5 CONSIDERAÇÕES FINAIS ............................................................................. 58
Referências Bibliográficas ................................................................................. 60
3
1 – INTRODUÇÃO
Recentemente, iniciativas em diversas áreas buscam promover a inclusão social e
digital de pessoas portadoras de deficiências. Por consciência humanitária, ou por força
da imposição de leis, algumas ações positivas tem beneficiado a vida de portadores de
deficiências, por meio de guias rebaixadas nas ruas, edificações e veículos adaptados
entre diversas outras providências que, apesar de simples, podem viabilizar a locomoção,
facilitar a realização de atividades profissionais, educacionais e de laser, ou simplesmente
proporcionar algum tipo de conforto.
Atualmente existem tecnologias que permitem a navegação na internet por
deficientes visuais, porém, de forma geral, elas são pagas e/ou requerem a instalação de
programas acessórios, ou seja, o portador de deficiência visual para ter acesso de forma
satisfatória à internet pode ter a necessidade de comprar softwares específicos para essa
finalidade. Por outro lado, as organizações ou empresas que desejam se comunicar com
deficientes visuais via internet precisam desenvolver seus websites de forma já
direcionada especificamente para funcionarem com os softwares que os usuários deverão
adquirir, ou produzir os websites utilizando padrões que permitam a leitura das telas,
mas, não permitem apoiar de forma assistida o usuário visitante durante sua navegação.
O fato de se ter que adquirir ou instalar softwares para ter acesso a navegação em
websites, pode dificultar ainda mais o acesso de deficientes visuais a internet, ou os
obriga, algumas vezes, a instalar de forma ilegal tais softwares.
O objetivo geral desta monografia é apresentar uma alternativa para inclusão
digital de deficientes visuais por meio do desenvolvimento de um modelo de website
com características de interação humano-computador que possibilite o acesso e
navegação sem a necessidade de software específico para essa finalidade. Ao mesmo
tempo, espera-se ofertar à organizações/empresas uma forma de se comunicar com
portadores de deficiências visuais sem que isto os obrigue a comprar ou instalar nenhum
software além do próprio Microsoft Windows em suas máquinas.
Esta pesquisa se justifica pelos potenciais benefícios sociais dela resultantes
como, por exemplo, a colaboração à promoção da inclusão digital de deficientes visuais.
Além disso, também são importantes os benefícios à organizações/empresas que
pretendem divulgar seus produtos e serviços, ou simplesmente se comunicar também
com deficientes visuais.
4
Como objetivos específicos temos a intenção de identificar formas e padrões
existentes para navegação na web de pessoas portadores de deficiências visuais, levantar
alternativas para pessoas portadoras de deficiências visuais navegarem e interagirem na
internet e propor um modelo de iteração humano-computador para websites capaz de
proporcionar navegabilidade para pessoas portadoras e não portadoras de deficiências
visuais.
O presente estudo não objetiva a discussão sobre as formas existentes de interação
e acessibilidade para pessoas portadoras de deficiências visuais, nem a avaliar ou
comparar as formas existentes.
Esta monografia está organizada da seguinte forma. No capítulo 2 descrevemos a
fundamentação teórica onde abordamos conceitos e definições sobre sistemas,
usabilidade, padrões web, design patterns e padrões de acessibilidade entre outros temas
relevantes ao nosso trabalho; no capítulo 3 apresentamos o resultado da pesquisa, neste
capítulo expomos como se dá a interação na interface para usuários/visitantes portadores
de deficiências visuais e como é o funcionamento do software aplicativo desenvolvido;
no capítulo 4 apresentamos as conclusões sobre o trabalho e no capítulo 5, as conclusões
finais sobre a monografia.
5
2 – FUNDAMENTAÇÃO TEÓRICA
Neste capítulo veremos de forma resumida o resultado das pesquisas
bibliográficas e das leituras realizadas sobre alguns temas e assuntos relevantes ao
desenvolvimento da pesquisa em questão.
2.1 - Conceituação de sistema e seus componentes
Ao iniciar a revisão sobre este assunto, é necessário primeiramente conhecer
algumas definições de sistema como apresentado nos Quadro 1:
QUADRO 1: CITAÇÕES SOBRE DEFINIÇÃO DE SISTEMA
Teoria e Autor Conceito
SistemaOliveira (1992;p.23)
“Sistema é um conjunto de parte interagentes e interdependentes que,conjuntamente, formam um todo unitário com determinado objetivo eefetuam determinada função.”
SistemaBertalanffy (1977;p.84)
“...um complexo de elementos em interação.”
SistemaChurchman (1972;p.50)
“...é um conjunto de partes coordenadas para realizar um conjunto definalidades.”
SistemaPolloni (1992;p.15)
“Sistema é um conjunto de elementos independentes em interação,com vistas a atingir um objetivo.”
SistemaO`Brien (2002;p.17)
“Um sistema é um grupo de componente inter-relacionados quetrabalham juntos rumo a uma meta comum recebendo insumos eproduzindo resultados em um processo organizado de transformação.”
Fonte: Elaboração do autor da Monografia a partir de citações dos autores
O conceito de sistema pode ser complementado conhecendo alguns termos como:
dado, informação, sub-sistema e conhecimento, conforme definições apresentadas no
Quadros 2 a seguir:
6
Quadro 2: Citações sobre definições sobre os Componentes do SistemaTeoria e Autor Conceito
DadoGil (1996;p.13)
”Dado é a matéria-prima com que o sistema de informações vaitrabalhar e a informação é o produto final do sistema de informação edeve ser apresentada em forma, prazo e conteúdo adequado aousuário.”
DadoOliveira (1992;p.34)
“Dado é qualquer elemento identificado em sua forma bruta que por sisó não conduz a uma compreensão de determinado fato ou situação”.
InformaçãoOliveira (1992;p.34)
“Informação é o dado trabalhado que permite ao executivo tomardecisões.”
Sub-SistemaBio (1985;p.18)
“Um sistema pode compor-se, sucessivamente, de subsistemas(também conjunto de partes interdependentes) que se relacionam entresi, compondo o sistema maior”. Portanto, pode-se afirmar quesubsistema é um sistema menor que pertence a um sistema maior.”
ConhecimentoDavenpor&Prusak (1998;p.6)
...”Conhecimento é uma mistura fluída de experiência condensada,valores, informação contextual e “insight” experimentado, a qualproporciona uma estrutura para a avaliação e incorporação de novasexperiências e informações. Ele tem origem e é aplicado na mente dosconhecedores”
Fonte: Elaboração do autor da Monografia a partir de citações dos autores
Conforme as citações apresentadas nos Quadros 1 e 2, sistema é um conjunto de
componentes que se interagem para atingir um objetivo comum, e o conhecimento pode
ser definido com a experiência extraída de inferências sobre dados e informações.
2.2 – Usabilidade
A usabilidade é definida na revisão da ISO 9126 como a capacidade do sistema
ser entendido, aprendido, usado e satisfatório para o usuário, quando usado sob condições
especificadas (BEVAN, 1999).
A usabilidade é regulamentada inicialmente na norma ISO-9126 e explorada de
forma exclusiva na norma ISO-9241 como um conjunto de atributos da qualidade de
software que afetam o esforço necessário para o uso, e a avaliação individual de tal uso,
por um grupo de usuários declarados ou implícitos. Tal conjunto de atributos é composto
por:
“- (i) inteligibilidade: esforço do usuário em compreender o conceito lógico e sua
aplicabilidade;
7
- (ii) apreensibilidade: esforço do usuário em aprender a usar a aplicação do
software;
- (iii) operacionalidade: esforço do usuário para operar e controlar a operação, e;
- (iv) atratividade: evidencia a satisfação subjetiva do usuário durante o uso.”
SOUZA relaciona o conceito de usabilidade de um sistema à sua qualidade de
interação com os usuários (SOUZA, et al.), e também destaca alguns aspectos a se
considerar na interação, são eles:
“- (i) facilidade de aprendizado do sistema: tempo e esforço necessários para
que os usuários atinjam um determinado nível de desempenho, e;
- (ii) facilidade de uso: avalia o esforço físico e cognitivo do usuário durante o
processo de interação, medindo a velocidade de e o número de erros cometidos
durante a execução de uma determinada tarefa, e;
- (iii) satisfação do usuário: avalia se o usuário gosta e sente prazer em
trabalhar com este sistema, e;
- (iv) flexibilidade: avalia a possibilidade de o usuário acrescentar e modificar
as funções e o ambiente iniciais do sistema. Assim, este fator mede também a
capacidade do usuário utilizar o sistema de maneira inteligente e criativa,
realizando novas tarefas que não estavam previstas pelos desenvolvedores, e;
- (v) produtividade: se o uso do sistema permite ao usuário ser mais produtivo
do que seria se não o utilizasse.”
2.3 – Ergonomia
Segundo o dicionário Aurélio, ergonomia está relacionado entre a comunicação
produtiva entre o homem e a máquina (FERREIRA, 1986);
“Ergonomia é um conjunto de estudos que visam à organização metódica do
trabalho em função do fim proposto e das relações entre o homem e a
máquina”.
Já BONNATO (acesso em 2007), complementa o conceito de ergonomia
destacando elementos que podem facilitar e economizar tempo na interação homem-
computador (BONNATO, acesso em 2007);
8
“A ergonomia estuda o diálogo homen-computador, busca economia de tempo,
diminuição da carga cognitiva e rapidez de decisões. Considera o design de
interfaces, estilos cognitivos, domínios de conhecimento, estruturação da
navegação, localização de programas. A interação homem computador, tema
que trata de usabilidade de programas informatizados multimídias, hipertextos,
páginas, sistemas de venda via internet, homebanking, buscando a facilitação
do uso desses sistemas por um número cada vez maior e mais diversificado de
usuários. Considera-se, por exemplo, o design das telas (diagrama básico,
legibilidade, iconografia), zonas de salto, navegação e retronavegação, os
sistemas de busca, os sistemas de ajuda, indicadores de localização.”
Em agosto de 2000, a IEA - Associação Internacional de Ergonomia adotou a
seguinte definição oficial para o termo ergonomia (ABERGO);
“A Ergonomia (ou Fatores Humanos) é uma disciplina científica relacionada
ao entendimento das interações entre os seres humanos e outros elementos ou
sistemas, e à aplicação de teorias, princípios, dados e métodos a projetos a fim
de otimizar o bem estar humano e o desempenho global do sistema. Os
ergonomistas contribuem para o planejamento, projeto e a avaliação de tarefas,
postos de trabalho, produtos, ambientes e sistemas de modo a torná-los
compatíveis com as necessidades, habilidades e limitações das pessoas.”
A Associação Brasileira de Ergonomia (ABERGO), ainda classifica os domínios
de especialização da ergonomia em três tipos, ergonomia física, ergonomia cognitiva e
ergonomia organizacional (ABERGO);
“- Ergonomia física: está relacionada com às características da anatomia
humana, antropometria, fisiologia e biomecânica em sua relação a atividade
física. Os tópicos relevantes incluem o estudo da postura no trabalho,
manuseio de materiais, movimentos repetitivos, distúrbios músculo-esqueletais
relacionados ao trabalho, projeto de posto de trabalho, segurança e saúde.
- Ergonomia cognitiva: refere-se aos processos mentais, tais como percepção,
memória, raciocínio e resposta motora conforme afetem as interações entre
seres humanos e outros elementos de um sistema. Os tópicos relevantes
incluem o estudo da carga mental de trabalho, tomada de decisão, desempenho
9
especializado, interação homem computador, stress e treinamento conforme
esses se relacionem a projetos envolvendo seres humanos e sistemas.
- Ergonomia organizacional: concerne à otimização dos sistemas
sociotécnicos, incluindo suas estruturas organizacionais, políticas e de
processos. Os tópicos relevantes incluem comunicações, gerenciamento de
recursos de tripulações, projeto de trabalho, organização temporal do trabalho,
trabalho em grupo, projeto participativo, novos paradigmas do trabalho,
trabalho cooperativo, cultura organizacional, organizações em rede, tele-
trabalho e gestão da qualidade.”
Em nosso trabalho consideraremos mais fortemente o conceito de ergonomia
relacionando-o à facilidade, agilidade, simplicidade e conforto na operacionalização de
websites pelos usuários/visitantes. Destacando o uso da ergonomia física no que se refere
à mídia utilizada pela interface (áudio), mas principalmente a ergonomia cognitiva no
que se refere aos processos mentais, percepção, raciocínio, interpretação e respostas do
usuário no modelo de interação proposto para websites.
2.4 Design de interfaces de software
A interface é a parte do software que permite a interação entre usuários e
desenvolvedores (SOUZA et al, 2002), podendo ser o seu design uma das mais
importantes etapas em projetos voltados para portadores de deficiências visuais. Uma das
definições de SOUZA et al (2002), sobre interface é;
“A interação é um processo que engloba as ações do usuário sobre a interface
de um sistema e suas interpretações sobre as respostas reveladas por esta
interface”.
SOUZA et al. (2002) também apresenta a definição de interface como;
“a parte de um artefato que permite a um usuário controlar e avaliar o
funcionamento deste artefato através de dispositivos sensíveis às suas ações e
capazes de estimular sua percepção”.
10
Em outras palavras, as interfaces de software podem ser entendidas como
mecanismos de comunicação entre o computador e os usuários de softwares e que
funcionam conforme definições estabelecidas pelos desenvolvedores. O design de
interfaces busca criar leiautes eficazes e eficientes, com o maior facilidade, agilidade e
conforto possível. Segundo SOUZA et al. (2002), entre os princípios de projetos de
interface de software, destacam-se as seguintes diretrizes (SOUZA et al. apud RIOS,
2002);
“- os cuidados com a interação, como consistência, oferecer feeback
significativo, procurar eficiência em diálogos, categorizar atividades por
função, etc;
- a apresentação de informações ao usuário (somente mostrar informações
significativas, não sobrecarregar o usuário de informações, usar cores
previsíveis, manter o contexto visual, utilizar janelas para compartimentar
informações, utilizar o espaço geográfico visual da tela de forma eficiente,
etc);
- a entrada de dados de forma otimizada, com o menor número possível de
entradas, respeitar as preferências do usuário, deixar o usuário controlar o
fluxo de informação, eliminar formatos de entrada de dados irrelevantes, etc;
- Controle do usuário: a iniciativa de realizar ações deve sempre partir da
vontade do usuário, não do computador. O aprendizado sempre é mais rápido
quando o usuário é personagem ativo no uso do computador;
- Retorno e diálogo: as operações realizadas pelo computador devem sempre
ser informadas ao usuário, para que este possa acompanhar e interferir, quando
necessário. Indicadores visuais e/ou de áudio devem fazer parte do processo de
comunicação com o usuário, além de outras informações complementares,
como a expectativa de tempo de um processamento;
- Reversibilidade: o usuário nem sempre possui certeza sobre o resultado de
suas ações, e a garantia da reversibilidade das ações executadas pelo usuário
lhe dá a possibilidade de experimentar alternativas.
- Estabilidade de pensamento (perceived stability): a existência de um ponto
de referência familiar ao usuário pode reduzir sua dificuldade na aceitação e
utilização de um software. A interface de um software deve estar de acordo
11
com o “mundo” do usuário, facilitando o seu aprendizado e uso por parte
deste;
- Modularidade: características modulares são desejáveis para permitir ao
usuário realizar suas atividades conforme sua necessidade. É desejável ao
usuário poder controlar o processamento em execução no computador, na
ordem especificada.
- Integridade estética: a organização visual da interface com o usuário deve
ser cuidadosamente avaliada. Uma tela simples, com número limitado de
elementos, e o seu comportamento auxiliam na usabilidade.”
Segundo WILLIAMS (1995), quatro elementos podem colaborar com
integridade estética um design de sistema, são eles;
“- Contraste: se dois itens não forem exatamente os mesmos, diferencie-os
completamente. O leitor deve ser capaz de compreender instantaneamente a
maneira através da qual as informações estão estruturadas, o fluxo lógico de
um item para outro. Os elementos contrastantes nunca devem confundir o
leitor ou criar um foco que não seja o correto;
- Repetição: alguns aspectos do design devem se repetir no material inteiro. O
elemento repetitivo pode ser uma fonte, algum sinal de tópico, um elemento do
design, algum formato específico, relações espaciais, etc. Pode ser qualquer
item que se reconheça visualmente.
- Alinhamento: nada deve ser colocado arbitrariamente em uma página. Cada
item deve ter uma conexão visual com algo na página.
- Proximidade: itens relacionados entre si devem ser agrupados e aproximados
uns dos outros, para que sejam vistos como um conjunto coeso, e não como
um emaranhado de partes sem ligação.”
Ainda segundo SOUZA et al. (2002), pode-se utilizar questionários para avaliar
projetos de uma interface de software e medir a satisfação dos usuários sobre essas
interfaces, observando os seguintes parâmetros;
“- Número de tarefas completas por tempo de uso;
- Freqüência de uso dos comandos;
- Seqüências de comandos;
12
- Tempo de busca por informação;
- Número de erros; Tipos de erros; Tempo de correção do erro;
- Tempo de uso da ajuda (on-line e/ou impressa);
- Freqüência de uso da ajuda.”
Algumas diretrizes para os resultados de interação apresentados por SILVA
(2005):
“- Use o vocabulário do domínio do usuário. Evite termos técnicos;
- Resultados devem fazer referência às informações passadas no comando;
- Advertências e avisos devem ser colocados em primeiro plano para chamar a
atenção do usuário;
- Cores fortes e diferenciadas de outros elementos chamam a atenção. Sons
também pode ser usados;
- Os resultados de função devem ser destacados de outros elementos da página
( banners, menus, ...).”
SILVA (2005) destaca as seguintes diferenças entre designs de interação que
podem interferir no nível de interatividade nas interfaces dos softwares;
“- Quantidade de controle que o usuário tem sobre as ferramentas, ritmo ou
conteúdo e o feedback por elas fornecido;
- Quantidade de escolhas que este controle oferece;
- A habilidade no uso das ferramentas ou conteúdo para ser criativo e
produtivo;
- Capacidade de adaptação ao comportamento do usuário.”
Souza et al. 1999 conceitua como comunicabilidade a capacidade dos usuários
em entender o design dos softwares tal como foi concebido pelos projetistas. Em outras
palavras, se um usuário conseguir entender as decisões que o projetista tomou para
construir a interface, ele terá mais chances de fazer um bom uso do sistema. Em sistemas
com alta comunicabilidade, os usuários são capazes de responder (Souza et al. 1999);
“- para que o sistema serve
- qual é a vantagem de utilizá-lo
- como funciona
13
- quais são os princípios gerais de interação com o sistema.”
Em interfaces de software o design da interação é o componente mais crítico para
o sucesso de produtos interativos, ele deve enfatizar a criação de experiências
convincentes aos usuários. Segundo SILVA (2005), “o coração do design é a
comunicação”, e o equilíbrio entre forma e função no design de interação é que pode
permitir uma boa experiência ao usuário.
2.5 – Padrões Web (Web Standards) e padrões de acessibilidade
O World Wide Web Consortium (W3C), órgão que regulamenta a internet, trata os
temas relacionados a acessibilidade em um departamento denominado WAI (Web
Accessibility Initiative), que é o responsável pelo documento WCAG (Web Contents
Accessibility Guidelines), no qual são elencadas as diretrizes, regras e padrões de
acessibilidade para internet.
O WCAG recomenda que as páginas de internet devem, preferencialmente, ter
seu conteúdo separado de sua estrutura de apresentação, podendo o conteúdo ser
disponibilizado em linguagem de marcação HTML (Hypertext Markup Language), e sua
estrutura de apresentação pode ser definida com emprego de CSS (Cascading Style
Sheets). O desenvolvimento das páginas com o conteúdo separado da estrutura é uma
recomendação importante dentre os padrões para web (Web Standards) estabelecidos
pela W3C e seu emprego pode tornar o acesso a essas páginas mais rápido, e no caso de
utilizar aplicativos para acessibilidade permitir que o browser ou aplicativo “chame”
apenas o arquivo com os dados (conteúdo), o que tornará o processamento mais ágil. A
versão oficial das normas está publicado na língua inglesa, versões traduzidas das
especificações podem ser encontradas em http://www.w3.org/WAI/GL/WAI-
WEBCONTENT-TRANSLATIONS.
A aparência e formato de apresentação das páginas, tamanhos, cores dos textos,
cor do fundo e bordas, segundo a recomendação, devem ser definidas separados do
conteúdo no CSS e “montado” em tempo de execução das páginas, com a união das
informações (conteúdo) no computador do usuário visitante no momento em que este
acessar a página. Páginas em conformidade com o padrão CSS podem ser identificadas
com selo conforme ilustra a Figura 1 abaixo.
14
Figura 1 – Selo de conformidade com o padrão CSS
O padrão XHTML pode ser considerado como a base para futuros padrões da
família de HTML estendido. Ele é o mais recente e o mais rigoroso padrão da W3C. Um
website desenvolvido sobre a sintaxe XHTML pode ser apresentado em qualquer
interpretador XML (eXtended Markup Language) e deverá ser aberto em qualquer
navegador web, mesmo em navegadores antigos pode-se acessar seu conteúdo
desabilitando as folhas de estilo (CSS). Páginas validadas para o formato XHTML
podem utilizar o selo ilustrado na Figura 2 abaixo.
Figura 2 – Selo de conformidade com o padrão XHTML
A WCAG define quatorze regras ou diretivas, a serem consideradas para
avaliação de acessibilidade, as diretivas são descritas detalhadamente e identificadas por
números de um a quatorze. Cada diretiva tem descrito claramente seus pontos de
verificação, que são os critérios de avaliação para cada ponto de verificação. Cada ponto
de verificação de cada diretiva, pode ser classificado em 3 níveis de prioridade, da
seguinte forma;
- Pontos de prioridade “1” – os desenvolvedores de conteúdo web tem
obrigatoriamente de satisfazer. Caso não satisfação, um ou mais grupos de
usuários não poderão acessar as informações do website. O atendimento aos
pontos de prioridade “I” são básicos e fundamentais para acesso de usuários;
- Pontos de prioridade “2” – os desenvolvedores devem satisfazer, porém, caso
não satisfaçam, determinados grupos de usuários podem ficar sem acesso ao
site. Por outro lado, caso sejam atendidos os pontos de prioridade “2”, o nível
de acessibilidade aumenta significativamente em relação ao atendimento
apenas das prioridades tipo “1”;
- Pontos de prioridade “3” – os desenvolvedores podem satisfazer, porém, caso
não satisfaçam, grupos de usuários podem não ter acesso ao site, mas é
15
considerado o nível mais satisfatório de adequação e representa a melhor
preparação de acessibilidade possível segundo as classificações da W3C.
Na tabela 1, é apresentado as 14 diretivas, sendo descrito também a quantidade de
pontos de verificação com seus respectivos níveis de prioridade;
Tabela 1 – Diretivas para a acessibilidade de conteúdo WebFonte: Elaborado pelo autor da monografia com base no site:http://www.w3.org/TR/WAI-WEBCONTENT
Tabela de Diretivas de AcessibilidadePontos de
VerificaçãoNúm
Diretiva Título da Diretiva
P1 P2 P3 PV
1 Fornecer alternativas ao conteúdo sonoro e visual 4 0 1 52(img) Não recorrer apenas à cor – para imagens 1 1 0 22(txt) Não recorrer apenas à cor – para texto 1 0 1 2
3 Utilizar corretamente anotações e folhas de estilo 0 7 0 74 Indicar claramente qual a língua utilizada 1 0 2 35 Criar tabelas passíveis de transformação harmoniosa 2 2 2 66 Assegurar que as páginas dotadas de novas tecnologias sejam
transformadas harmoniosamente3 2 0 5
7 Assegurar o controle do utilizador sobre as alterações temporais doconteúdo
1 4 0 5
8(imp)
Assegurar a acessibilidade direta de interfaces integradas ao navegador– se a funcionalidade for importante
1 0 0 1
8(n_imp)
Assegurar a acessibilidade direta de interfaces integradas ao navegador– se a funcionalidade não for importante
0 1 0 1
9 Pautar a concepção pela independência face a dispositivos 1 2 2 510 Utilizar soluções de transiçao 0 2 3 511 Utilizar as tecnologias e as diretivas da W3C 1 2 1 412 Fornecer contexto e orientações 1 3 0 413 Fornecer mecanismos de navegação claros 0 4 6 1014 Assegurar a clareza e a simplicidade dos documentos 1 0 2 3
Os pontos de verificação é constituído de um conjunto de sessenta e oito
“critérios” utilizados para se aferir o grau de acessibilidade de determinado website, e
estão distribuídos nas quatorze diretivas e em 3 níveis de prioridade conforme Tabela 1
acima.
16
2.6 – Avaliação de Acessibilidade
A validação da acessibilidade pode ser feita por meio de ferramentas automáticas, ou
manualmente com a análise direta. Métodos automáticos são geralmente rápidos, mas,
normalmente, não são capazes de aferir com precisão todos os critérios e pontos de
verificação, principalmente os de avaliação mais subjetivas.
Os métodos de validação que se seguem são abordados com mais profundidade na
seção de validação do documento de técnicas do WCAG:
1. Utilizar uma ferramenta de acessibilidade automatizada. Note-se que as
ferramentas automáticas não incidem sobre todas as questões da acessibilidade
como, por exemplo, a clareza de um texto, a aplicabilidade de um equivalente
textual, etc;
2. Validar a sintaxe (por ex., HTML, XML, etc., em: validador HTML do W3C -
http://validator.w3.org). Essa validação do código, é importante para que sua
interpretação pelo navegador seja mais rápida e eficiente, já que estará em contato
com um código totalmente correto;
3. Validar as folhas de estilo (por ex., CSS, valide em: Validador Css do W3C -
http://jigsaw.w3.org/css-validator). Pelo mesmo motivo que se deve validar o
código do html, se deve fazer o mesmo com o do CSS;
4. Utilizar um navegador só de texto (Lynx ou Webvox) ou um emulador;
5. Para se averiguar se o conteúdo está completo, utilizar vários navegadores
gráficos na verificação do conteúdo, com: o som e os gráficos ativos; sem
gráficos; sem som; sem mouse; sem carregar frames, programas interpretáveis,
folhas de estilo ou applets;
6. Utilizar vários navegadores, antigos e recentes, para verificar a consistência dos
dados entre eles;
7. Utilizar um navegador de emissão automática de fala, um leitor de tela, software
de ampliação de tela, uma tela de pequenas dimensões, etc. Este item é difícil de
ser realizado, mas importantíssimo para uma página realmente acessível;
8. Utilizar corretores ortográficos e gramaticais. Uma pessoa que, para ler uma
página, se sirva de um sintetizador de voz, pode não ser capaz de decifrar a
melhor aproximação do sintetizador a uma palavra que contém um erro de
17
ortografia. A eliminação dos problemas gramaticais aumenta o grau de
compreensão da página;
9. Rever o documento, verificando-lhe a clareza e a simplicidade. O melhor é pedir
a um revisor literário experiente que reveja o conteúdo escrito e avalie a clareza
da redação; e
10. Peça a pessoas com deficiências que revejam os documentos. Estes usuários, com
ou sem experiência, são uma fonte inestimável de informações sobre o estado dos
documentos, no que diz respeito ao seu grau de acessibilidade e de facilidade de
utilização.
A adequação aos pontos de verificação de acordo com os níveis de prioridades em
um website definem seus níveis de conformidade e consequentemente os grupos de
usuários que poderão se beneficiar de acordo com o grau de conformidade aferido. Os
níveis de conformidade que demonstram o grau de adequação aos pontos de verificação
são classificados da seguinte forma;
- Nível de conformidade “A”: satisfazem todos os pontos de verificação de
prioridade 1;
- Nível de conformidade “AA”: satisfazem todos os pontos de verificação de
prioridades 1 e 2;
- Nível de conformidade “AAA”: satisfazem todos os pontos de verificação de
prioridade 1, 2 e 3.
Figura 3 – Símbolos que representam os níveis de conformidade segundo prioridades segundo a W3C
2.7 - Avaliadores e validadores automáticos de acessibilidade.
Os validadores ou avaliadores de acessibilidade, são ferramentas que realizam
automaticamente pesquisa no código de uma página emitindo relatórios que indicam os
erros de acessibilidade, segundo as prioridades sugeridas nas Diretrizes para a
Acessibilidade dos Conteúdos da Web.
18
É altamente recomendável que as páginas sejam testadas em mais de um desses
softwares de teste de acessibilidade para obter um bom resultado, já que as ferramentas
de avaliação podem ter diferentes níveis de aderência aos padrões web (Web Standards).
Em muitos casos é importante realizar para determinados pontos de verificação, a
avaliação manual, pois certos critérios eventualmente não podem ser aferidos
automaticamente via ferramentas de avaliação de acessibilidade, devido a subjetividade
do ponto de verificação.
Uma avaliação que é feita somente por pessoas com deficiência incorre no erro da
página ficar acessível somente àquela deficiência, ou à tecnologia assistiva que ela esteja
utilizando. Acessibilidade é se fazer algo o mais universal possível, para todas as pessoas
com deficiência, para todos os tipos de acesso (rápidos ou lentos, banda larga ou discado)
e para todos os tipos de dispositivos (laptops, celulares, de tecnologias assistivas, etc.).
A seguir é destacado alguns avaliadores entre os mais conhecidos e utilizados:
• WebXact (Bobby) - http://webxact.watchfire.com - é o mais utilizado
internacionalmente, somente em lingüa inglesa.
• Hera (em português) - www.sidar.org/hera - um dos mais completos e inteligente
validadores de acessibilidade – disponível em ligua portuguesa.
• Examinator (em português) - www.acesso.umic.pt/webax/examinator.php – tão
bom quanto o Hera, mas ele também produz um incentivo didático de dar uma
nota avaliadora da acessibilidade. O profissional se constrange em produzir uma
página com uma nota baixa. Além disso, possui um relatório qualitativo
ensinando como produzir a acessibilidade que falta, e dando os parabéns para os
itens de acessibilidade já existentes na página.
• Cynthia (em inglês) - www.cynthiasays.com – validador também conhecido
internacionalmente.
• DaSilva (em português) - www.dasilva.org.br - Atualmente possui versões para a
avaliação segundo as diretrizes brasileiras de acessibilidade do governo
Eletrônico - EMAG, mas possui também a possibilidade de uma avaliação
segundo o W3C, baseado no WCAG, o que pode ser bastante interessante para as
pessoas que estejam iniciando no entendimento de como se faz acessibilidade.
Não é, no entanto, um avaliador muito rígido.
• Lista completa de avaliadores de acessibilidade cadastrados no W3C/WAI (em
inglês) - www.w3.org/WAI/ER/tools/complete
19
2.8 Desenho de Padrões (Design Patterns)
Destacando a opção de desenvolver um protótipo de software para testar o
modelo de interação proposto, foi necessário realizar um levantamento sobre Design
Patterns, para reconhecer os padrões de desenho mais conhecidos com objetivo de
considerá-los ou evitá-los no desenvolvimento de nosso protótipo. Sobre a utilização de
desenhos de padrões ou design patterns PONCE (acesso em 2007), destaca;
“O desenho de padrões faz possível que os desenhos e arquiteturas sejam
reusáveis. Ajuda na escolha das alternativas de desenho que fazem um sistema
reusável e evita alternativas que comprometam reusabilidade. Desenho de
padrões ainda pode melhorar o processo de documentação e manutenção de
sistemas existentes fornecendo uma especificação explicita de classes e
interações de objetos e seus objetivos fundamentais. Em resumo, desenho de
padrões ajuda a obter um desenho de software ‘correto’ e rápido.”
A seguir veremos alguns Design Patterns mais comuns;
Pattern Abstract Factory ou Fábrica Abstrata
Propósito do pattern “Abstract Factory” ou “Fábrica Abstrata” é “prover uma
interface para a criação de familias de objetos relacionados ou dependentes sem
especificar suas classes concretas.” (UFRJ_LCG).
Este pattern é usado quando (UFRJ_LCG);
“- um sistema deve ser independente de como seus elementos são criados,
compostos e representados;
- um sistema deve ser configurado para trabalhar com uma única família dentre
múltiplas famílias de produtos;
- uma família de produtos relacionados é projetada para ser usada em conjunto,
e há a necessidade de reforçar essa restrição;
- se se quer criar uma biblioteca de classes de produtos, revelando apenas suas
interfaces e não suas implementações.”
Característica do pattern “Abstract Factory” (UFRJ_LCG);
20
“- ele isola as classes concretas;
- facilita a troca de famílias de produtos;
- prove consistência entre produtos;
- facilita o suporte a novos tipos de produtos.”
Patterns relacionados ao pattern “Abstract Factory” (UFRJ_LCG);
“- As classes ‘Abstract Factory’ normalmente são implementadas com
‘Factory Methods’, mas elas também podem ser implementadas usando o
‘Prototype’;
Pattern “Builder” ou “Construtor”
Propósito do pattern “Builder” ou “Construtor” (UFRJ_LCG);
“Este pattern tem como propósito separar a construção de um objeto complexo
de sua representação, de modo que o mesmo processo de construção possa
criar diferentes representações.
Este pattern é usado quando (UFRJ_LCG);
“- o algoritmo para a criação de um objeto complexo deve ser independente das
partes que o compõem e de como estas são conectadas entre si;
- o processo de construção deve permitir a criação de diferentes representações
do objeto construído.”
Características do pattern “Builder” (UFRJ_LCG);
“- Possibilita variar a representação interna de um produto;
- Isola o código de construção e representação aumentando a modularidade;
- Possibilita um grande controle sobre o processo de construção.”
Patterns Relacionados ao pattern “Builder” (UFRJ_LCG);
“- O ‘Abstract Factory’ é similar ao ‘Builder’ pelo fato de, com ele, também se
poder construir objetos complexos. A principal diferença é que o pattern
‘Builder’ objetiva a construção de objetos complexos passo a passo. A ênfase
do ‘Abstract Factory’ é em famílias de objetos produto (tanto simples quanto
complexos). O ‘Builder’ retorna o produto como um passo final, mas no que
21
diz respeito ao pattern ‘Abstract Factory’, o produto final e retornado
imediatamente.
- Uma ‘Composite’ é o que o ‘Builder’ freqüentemente constrói.”
Pattern Factory Method ou Método Fábrica
Propósito do pattern “Factory Method” ou “Método Fábrica” (UFRJ_LCG);
“definir uma interface para criação de um objeto, mas deixa as subclasses
definirem que classe instanciar. O pattern "Factory Method" permite a uma
classe delegar a instanciação às subclasses.”
Este pattern é usado quando (UFRJ_LCG);
“- uma classe não pode antecipar a classe de objetos que deve ser criada;
- uma classe quer que suas subclasses especifiquem os objetos que ela cria;
- classes delegam responsabilidades para uma dentre várias subclasses
auxiliares, e se deseja localizar o conhecimento de qual subclasse auxiliar
implementa a delegação.“
Entre as principais características do pattern “Factory Method” destaca-se que o
mesmo “Provê ganchos para as subclasses, e; conecta hierarquias de classes paralelas
quando há delegação.” (UFRJ_LCG).
Patterns relacionados ao pattern “Factory Method” (UFRJ_LCG);
“- ’Abstract Factory’ é freqüentemente implementada com ‘Factory Methods’;
- ‘Factory Methods’ são usualmente chamados de dentro de ‘Template
Methods’.
- O pattern Prototype não requer a criação de subclasses do Creator. Contudo,
ele freqüentemente requer uma operação de inicializacão na classe Product. O
Creator usa Initialize para inicializar o objeto. ‘Factory Method’ não requer tal
operação.”
22
Pattern “Prototype” ou “Protótipo”
O propósito do pattern “Prototype” ou “Protótipo” é, “...especificar os tipos de
objetos a criar usando uma instância prototípica, e cria novos objetos através da copia
deste protótipo.” (UFRJ_LCG).
Este pattern é usado quando (UFRJ_LCG);
“- um sistema deva ser independente de como seus produtos são criados,
compostos e representados, e;
- quando as classes a instanciar são especificadas em tempo de execução, ou;
- para evitar a construção de uma hierarquia de classes de fabricação paralela a
uma hierarquia de classes de produtos por elas fabricados, ou;
- quando instâncias de uma classe podem ter uma de algumas poucas
combinações de estado diferentes. Pode ser mais conveniente instalar um
número correspondente de protótipos e cloná-los, ao invés de instanciar as
classes no estado apropriado manualmente, toda vez que for necessário.“
Características do pattern “Prototype“ (UFRJ_LCG):
“- adicionar e remover produtos em tempo de execução;
- especificar novos objetos pela variação de valores;
- especificar novos objetos pela variação de estruturas: utilizar objetos
compostos (Composites) como protótipos;
- redução do número de subclasses (hierarquia);
- configurar uma aplicação com classes dinamicamente.”
Patterns relacionados ao pattern “Prototype” (UFRJ_LCG);
“- ’Abstract Factory’ e ‘Prototype’ são patterns que podem vir a competir em
algumas situações, porém também podem ser usados juntos. Um ‘Abstract
Factory’ poderia armazenar um conjunto de ‘Prototypes’ que seriam clonados
para retornar os objetos produto;
- Projetos que fazem grande uso dos patterns ‘Composite’ e ‘Decorator’
freqüentemente também podem ser beneficiados com o uso do ‘Prototype’.”
23
Pattern “Singleton”
Propósito do pattern “Singleton”: O propósito deste pattern é “garantir que uma
classe tenha apenas uma instância, e prover um ponto de acesso global a ela.”
(UFRJ_LCG).
Este pattern é usado quando (UFRJ_LCG);
“- deve haver exatamente uma única instância de uma classe, e ela deve estar
disponível a todos os clientes de um ponto de acesso bem definido;
- quando se desejar que a única instância possa ser estendida por herança, e os
clientes serem capazes de utilizar essa instância estendida sem terem de
modificar o seu código.”
Características do pattern “Singleton” (UFRJ_LCG);
“- acesso controlado à única instância;
- espaço de nomes reduzido;
- permite refinamento de operações e representação via especialização;
- permite um número variável de instâncias;
- maior flexibilidade do que em operações de classes.”
Muitos patterns podem ser relacionados ao pattern “Singleton”. Como exemplo o
"Abstract Factory", o "Builder" e o "Prototype", podem ser implementados usando o
pattern "Singleton" (UFRJ_LCG).
Pattern “Adapter” ou “Adaptador”
Propósito do pattern “Adapter” ou “Adaptador” (UFRJ_LCG);
“...converter a interface de uma classe em outra interface esperada pelo cliente.
Permite que classes que não poderiam interagir devido a incompatibilidades
nas interfaces possam trabalhar em conjunto.”
Este pattern é usado quando (UFRJ_LCG);
“- se quer usar uma classe já existente e sua interface não combina com a
esperada pelo cliente;
24
- se quer criar uma classe reutilizável que coopera com classes não
relacionadas ou não previstas, isto é, classes que não necessariamente tenham
interfaces compatíveis.
- (apenas para o objeto adapter) se necessita usar várias subclasses existentes,
mas é impraticável adaptar suas interfaces fazendo um subclassing de cada
uma. Um objeto adapter pode adaptar a interface da super classe.”
Os patterns relacionados ao pattern “Adapter” (UFRJ_LCG);
“- O pattern ‘Bridge’ tem uma estrutura similar a de um objeto ‘Adapter’, mas
‘Bridge’ tem um propósito diferente: separar uma interface de sua
implementação de forma ambas possam variar de modo fácil e independente.
Um ‘Adapter’ tem a intenção de compatibilizar a interface de um objeto
previamente existente;
- ‘Decorator’ agrega funcionalidades a outro objeto sem alterar sua interface.
Por isso, o "Decorator", é mais transparente para a aplicação do que um
Adapter. Como a interface se mantém, o ‘Decorator’ suporta composição
recursiva, algo que não se aplica a objetos ‘Adapter’;
- ‘Proxy’ define uma representação ou um substituto para outro objeto e não
modifica a sua interface. “
Pattern “Bridge” ou ”Ponte”
O propósito do pattern “Bridge” ou “Ponte” (UFRJ_LCG) é, “desacoplar uma
abstração de sua implementação de tal modo que ambos possam variar
independentemente.”
Este pattern é usado quando (UFRJ_LCG);
“- se quer evitar uma ligação permanente entre uma abstração e sua
implementação. O que ocorre, por exemplo, quando a implementação deve ser
selecionada ou trocada em tempo de execução;
- tanto a abstração quanto sua implementação devem ser extensíveis por
especialização. Neste caso, o pattern Bridge deixa você combinar estas
diferentes abstrações e implementações e estendê-las independentemente;
- mudanças na implementação de uma abstração não devem ter impacto nos
clientes, isto é, seu código não deve ter que ser recompilado;
25
- quando se quer esconder completamente a implementação dos clientes,
evitando que a representação de uma classe seja feita através da interface dessa
classe.
- há um tipo de hierarquia de classes onde ocorre generalizações aninhadas,
indicando a necessidade de se dividir um objeto em duas partes;
- se quer compartilhar uma implementação entre vários objetos, e este fato
deva estar oculto para os clientes. “
Características do pattern “bridge” (UFRJ_LCG);
“- Desacopla interface e implementação;
- Melhora a extensibilidade;
- Oculta detalhes de implementação do cliente.”
Patterns relacionados ao pattern “bridge” (UFRJ_LCG);
“Um ‘Abstract Factory’ pode criar e configurar um determinado ‘Bridge’. O
pattern ‘Adapter’ objetiva fazer com que classes não relacionadas trabalhem
juntas. Ele é usualmente aplicado a sistemas depois que eles já estão
projetados. O ‘Bridge’, por outro lado, é usado no durante a fase de análise e
projeto para permitir que as abstrações e implementações variem
independentemente.“
Pattern “Composite” ou “Composição”
Propósito do pattern “Composite” ou “Composição” (UFRJ_LCG);
“Compor objetos em estruturas de árvore para representar hierarquias do tipo
todo-parte. O Composite deixa os clientes tratarem objetos individuais e
composições de objetos do mesmo modo. “
Este pattern é usado quando (UFRJ_LCG):
“- se quer representar hierarquias de objetos do tipo todo-parte;
- se quer que os clientes ignorem a diferença entre composições de objetos e
objetos individuais. Os clientes, numa estrutura composite, irão tratar todos os
objetos uniformemente.”
Características do pattern Composite (UFRJ_LCG);
26
“- define uma hierarquia de classes que consiste de objetos primitivos (Leaf) e
objetos compostos (Composite). Objetos primitivos podem ser compostos em
objetos mais complexos, que, por sua vez, também podem vir a ser compostos
também, e assim por diante. Em qualquer ponto do código cliente em que se
espera um objeto primitivo, ele também poderá manipular um objeto
composto;
- torna o cliente simples. O cliente pode tratar estruturas compostas e objetos
individuais uniformemente. Os clientes normalmente não sabem (e não devem
se preocupar) se eles estão tratando com um componente individual ou
composto. Isto simplifica o código do cliente, porque ele evita ter que escrever
funções que tenham que testar o tipo das classes que definem a composição;
- se torna mais fácil adicionar novos tipos de componentes. Novas definições
das subclasses "Leaf" ou "Composite" trabalham automaticamente com as
estruturas existentes e código do cliente. Os clientes não precisam ser
modificados devido a criação de novas classes "Component";
- pode tornar o projeto, como um todo, mais geral. A desvantagem de tornar
mais fácil adicionar novos componentes, é que isso torna mais difícil restringir
que tipo de componentes podem fazer parte de uma composição. Algumas
vezes pode-se querer uma composição que tenha apenas certos componentes.
Com o "Composite", não se pode confiar no sistema de verificação de tipos
para garantir que essas restrições sejam respeitadas. Ao invés disso, terão que
ser feitas checagens em tempo de execução.”
Patterns relacionados ao pattern “Composite” (UFRJ_LCG);
“- Freqüentemente o link do componente para o pai é usado para o pattern
‘Chain of Responsibility’;
- ‘Decorator’ é freqüentemente usado com ‘Composite’. Quando usados
juntos, eles usualmente irão ter uma classe mãe ‘Component’ em comum,
portanto, ‘Decorators’ deverão suportar a interface do ‘Component’ com
operações como Add, Remove e GetChild;
- O ‘Flyweight’ permite o compartilhamento de componentes, mas eles não
poderão mais se referir diretamente a seus pais;
- o ‘Interator’ pode ser usado para percorrer composições;
27
- o ‘Visitor’ localiza operações e comportamentos que de outra forma estariam
distribuídos através das classes ‘Leaf’ e ‘Composite’. “
Pattern “Decorator” ou “Decorador”
Propósito do pattern “Decorator” ou “Decorador” é (UFRJ_LCG);
“agregar responsabilidades adicionais a um objeto dinamicamente. O
decorator provê uma alternativa flexível à criação de subclasses para extender
funcionalidades (troca herança por delegação).”
Este pattern é usado quando (UFRJ_LCG);
“- para adicionar responsabilidades a objetos individuais de forma dinâmica e
transparente, isto é, sem afetar outros objetos;
- para responsabilidades que podem ser retiradas;
- quando extensões através de subclasses é impraticável. Algumas vezes um
grande número de extensões independentes é possível e produziria uma
explosão de subclasses para suportar cada combinação. Ou ainda a definição de
uma classe pode estar oculta ou indisponível para se criar subclasses.”
Características do pattern “Decorator” (UFRJ_LCG);
“- maior flexibilidade do que herança estática;
- evita sobrecarga de características em classes de alto nível da hierarquia;
- um "Decorator" e seu componente não são idênticos, não confie na
identidade de objetos ao usá-lo;
- multidão de pequenos objetos: fácil de configurar, difícil para compreender e
debugar.”
Patterns Relacionados ao pattern “Decorator” (UFRJ_LCG);
“- um ‘Decorator’ é diferente de um ‘Adapter’ porque ele apenas modifica as
responsabilidades de um objeto, não a sua interface; um ‘Adapter’ irá dar a um
objeto uma interface completamente nova;
- um ‘Decorator’ poderia ser visto como um ‘Composite’ simplificado que tem
apenas um ‘Component’. Contudo, ele adiciona novas responsabilidades - ele
não tem como intenção a agregação de objetos;
28
- um ‘Decorator’ permite agregar uma mudança à ‘superfície’ de um objeto;
um ‘Strategy’ permite uma mudança no seu funcionamento interno. Essas são
as duas maneiras de mudar o comportamento de um objeto.
Pattern “Façade” ou “Fachada”
Propósito do pattern “Façade” ou “Fachada” (UFRJ_LCG);
“Prover uma interface unificada para um conjunto de interfaces em um
subsistema. Define uma interface de mais alto nível que torna mais fácil o uso
do subsistema.”
Este pattern é usado quando (UFRJ_LCG);
“- se quer oferecer uma interface simples para um subsistema complexo.
Subsistemas freqüentemente ficam cada vez mais complexos conforme
evoluem. Muitos patterns, quando usados, resultam em um maior número de
classes de menor tamanho. Isto faz com que o subsistema seja mais reutilizável
e fácil de configurar, mas também torna o seu uso mais difícil para clientes que
não precisam configurá-lo. Um ‘Façade’ pode disponibilizar uma vista padrão
simples do subsistema que é boa o suficiente para a maioria dos clientes.
Apenas clientes que precisem de maiores peculiaridades é que necessitariam
olhar além do Façade;
- existem muitas dependências entre clientes e as classes de implementação de
uma abstração. A introdução um ‘Façade’ irá desacoplar o subsistema dos
clientes e dos outros subsistemas, promovendo desse modo a independência e
portabilidade desses subsistemas;
- quando se deseja subsistemas em camadas. Use um ‘Façade’ para definir um
ponto de entrada para cada nível do subsistema. Se os subsistemas são
dependentes, então pode-se simplificar a dependência entre eles fazendo com
que eles se comuniquem uns com os outros unicamente através dos seus
‘Façades’.”
29
Características do pattern “Façade” (UFRJ_LCG);
“- Ele isola os clientes dos componentes do subsistema, reduzindo, desse
modo, o número de objetos com que o cliente interage e fazendo com que o
subsistema seja muito mais fácil de se usar;
- Ele promove um fraco acoplamento entre o subsistema e seus clientes.
Geralmente os componentes de um subsistema estão fortemente acoplados. Um
baixo acoplamento permite que se varie os componentes de um subsistema sem
afetar seus clientes;
- Ajuda a estruturar em camadas não só o sistema como as dependências entre
objetos;
- Podem eliminar referências complexas ou circulares entre objetos, o que é
fundamental quando cliente e subsistema são implementados separadamente.
Outra conseqüência é a redução das dependências de compilação, algo vital em
sistemas de porte, pois limita o tempo de recompilação necessário, devido a
uma pequena alteração em um subsistema importante;
- Simplifica portar sistemas para outras plataformas já que é pouco provável
que a compilação de um subsistema vá implicar na necessidade de compilar
todos os outros;
- Não impede as aplicações de usarem um subsistema de classes se elas
precisarem. Assim pode-se escolher entre facilidade de uso e generalidade.”
Patterns relacionados ao pattern “Façade” (UFRJ_LCG);
“- ‘Abstract Factory’ pode ser usado com o ‘Façade’ para prover uma interface
para criação dos objetos de um subsistema de um modo independente do
subsistema. ‘Abstract Factory’ também pode ser usado como uma alternativa
ao ‘Façade’ para esconder classes referentes a plataformas específicas;
- O ‘Mediator’ é similar ao ‘Façade’ no modo de abstrair a funcionalidade das
classes existentes. Contudo o propósito do ‘Mediator’ é abstrair a comunicação
entre objetos que participam de um mesmo conjunto, freqüentemente
centralizando funcionalidades que não estão em qualquer um deles. As classes
que participam de uma estrutura que contém o ‘Mediator’ estão cientes de que
a comunicação deve ser feita através dele e não entre elas diretamente. Ao
contrário, um ‘Façade’ meramente abstrai a inteface dos objetos de um
30
subsistema para fazê-lo mais fácil de ser usado. Ele não define novas
funcionalidades, e as classes de um subsistema não o conhecem;
- Normalmente apenas um objeto ‘Façade’ é requerido. Assim objetos
"Façade" freqüentemente são ‘Singletons’.”
Pattern Flyweight
Propósito do pattern “Flyweight” (UFRJ_LCG);
“Usar compartilhamento para suportar eficientemente um grande número de
objetos de fina granularidade. Para um resultado efetivo, o pattern Flyweight
depende fortemente de como é onde ele é usado.”
O pattern Flyweight é usado quando todas as seguintes características são
verdadeiras (UFRJ_LCG);
“- uma aplicação usa um grande número de objetos;
- custos de armazenamento são grandes por causa da grande quantidade de
objetos;
- a maior parte do estado dos objetos podem se tornar extrínsica;
- muitos grupos de objetos podem ser substituídos por relativamente poucos
objetos que possam ser compartilhados, uma vez que o estado extrínsico é
removido deles e colocado em outro lugar;
- a aplicação não depende da identidade do objeto. Uma vez que objetos
‘Flyweight’ podem ser compartilhados, testes de identidade irão retornar true
para objetos conceitualmente distintos.”
Características do pattern “Flyweight” (UFRJ_LCG);
“O ‘Flyweight’ pode introduzir alguns custos em tempo de execução
associados a transferência, procura e/ou computação de estados extrínsicos,
especialmente se eles forem formalmente armazenados como estados
intrínsicos. Contudo, tais custos são sobrepujados pela economia de espaço que
aumenta conforme cresce o número de ‘Flyweights’ compartilhados. A
economia de armazenamento é função de diversos fatores:
31
- a redução do número total de instâncias que se obtém com o
compartilhamento;
- a quantidade de estado intrínsico por objeto;
- se o estado extrínsico é computado ou armazenado;
- O pattern ‘Flyweight’ normalmente é combinado com o pattern ‘Composite’
para representar uma estrutura hierárquica com nós ‘Leaf’ compartilhados.
Uma conseqüência do compartilhamento é que essas folhas não podem
armazenar uma referência para seus pais. Esta referência deve ser repassada ao
‘Flyweight’ como parte do seu estado extrínsico. Isso provoca um forte
impacto em como os objetos na hierarquia se comunicam uns com os outros.”
Patterns relacionados ao pattern "Flyweight" (UFRJ_LCG);
“- O pattern Flyweight é freqüentemente combinado com o pattern
"Composite" para implementar uma hierarquia logicamente estruturada com
nós folhas ("Leaf") compartilhados. Geralmente é melhor implementar objetos
"State" e "Strategy" como "Flyweights".”
Pattern Proxy
Propósito do pattern “Proxy” (UFRJ_LCG);
“Prover um substituto ou um receptáculo para um objeto, com o objetivo de
controlar como esse objeto é acessado. É indicado sempre que for necessária
uma referência mais versátil ou sofisticada para um objeto do que
simplesmente um ponteiro.”
Existem várias situações comuns onde esse pattern é utilizado (UFRJ_LCG);
“O pattern Proxy introduz um nível de intermediação para acessar um objeto.
Essas intermediações adicionais tem vários usos, dependendo do tipo do
Proxy:
- um ‘remote proxy’ provê um representante local para um objeto em um
espaço de endereçamento diferente;
- um ‘virtual proxy’ cria objetos custosos, por consumirem grande número ou
quantidade de recursos, sob demanda;
32
- um ‘protection proxy’ controla o uso do objeto original. Muito útil quando
clientes devem ter diferentes permissões de acesso ao objeto;
- um ‘smart reference’ é uma substituição por um ponteiro simples que faz
ações adicionais quando um objeto é acessado.
- Tanto o ‘protection proxy’ quanto o ‘smart proxy’ permitem que sejam feitas
tarefas adicionais quando um objeto é acessado. “
Patterns Relacionados ao pattern “Proxy” (UFRJ_LCG);
“- Um ‘Adapter’ provê uma interface diferente para o objeto que ele adapta. Já
o objetivo do ‘Proxy’ é prover a mesma interface de seu ‘Subject’. Contudo, o
’Proxy’, quando usado para proteger o acesso a um objeto, pode se recusar
executar uma operação que a classe ‘Subject’ executaria, de forma que a sua
interface poderia ser, efetivamente, um subconjunto da classe Subject;
- Embora o ‘Decorator’ tenha implementações similares as dos ‘Proxies’, ele
tem um propósito diferente. O ‘Decorator’ adiciona uma ou mais
responsabilidades ao objeto, enquanto o proxy controla o acesso ao objeto;
- ‘Proxies’ variam o grau em que eles são implementados como o ‘Decorator’.
Um ‘protection proxy’ deve ser implementado exatamente como um
‘Decorator’. Já um ‘remote proxy’ não deverá conter uma referência direta a
sua classe ‘Subject’, apenas uma referência indireta. Um ‘virtual proxy’ deverá
se iniciar com uma referência indireta, tal como um nome de arquivo, mas
eventualmente irá obter e usar uma referência direta.”
Pattern “Mediator” ou “Mediador”
Propósito do pattern “Mediator” ou “Mediador” (PONCE);
“Usa um objeto para coordenar mudanças de estado entre outros objetos,
pondo a lógica num objeto para ministrar mudanças de estado de outros
objetos, em vez de distribuir a lógica sobre os outros objetos. O resultando é
uma implementação coesiva da lógica e deminui o acoplamento entre os outros
objetos.”
Patterns relacionados ao pattern “Mediator” (PONCE);
33
“- Adaptador. Uma classe mediador freqüentemente usa objetos adaptador para
receber notificações de mudanças de estado.
- Interface. É usado pelo padrão Mediador para manter as classes coligadas
independentes da classe Mediador.”
Pattern “Command” ou “Comando”
Propósito do pattern “Command” ou “Comando” é encapsular comandos em um
objeto de forma a permitir controlar sua seleção, seqüencia, enfileiramento, entre outros
tipos de manipulação de comandos (PONCE).
Patterns relacionados ao pattern “Command” (PONCE);
“- Método Fábrica. Pode ser usado para prover uma camada indireta entre uma
interface de usuário e classes comando.
- Template. Pode ser usado para implementar a lógica de desfazer do último
nível.
- Composição. Pode ser usado para criar macro-comandos.
- Memento. Pode manter o estado do Comando, o que é necessário para
desfazer seu efeito.”
Pattern Observador
Propósito do pattern “Observador” (PONCE);
“Permite que objetos registrem dinamicamente dependências entre objetos, de
forma que um objeto pode notificar esses objetos que são dependentes neles
quando seus estados mudam.”
Patterns relacionados ao pattern “Observador” (PONCE);
“- Adaptador. Pode ser usado para permitir que objetos que não implementam
a interface requerida participem no padrão Observador.
- Delegador. É usado pelo padrão Observador
- Mediador. Algumas vezes é usado para coordenar mudanças de estado
iniciadas por múltiplos objetos a um objeto observável.”
34
Pattern “Iterador”
O propósito do pattern “Iterador” é “Definir uma interface que declara métodos
para acessar seqüencialmente objetos numa coleção.” (PONCE).
Patterns relacionados ao pattern “Iterador” (PONCE);
“- Adaptador. O padrão iterador é uma forma especializada de um adaptador
para acessar seqüencialmente ao conteúdo da coleção de objetos.
- Método Fábrica. Alguma coleção de classes pode usá-las para determinar que
classe de iterador instanciar.
- Memento. É freqüentemente usado junto ao padrão Iterador.”
Pattern “Memento”
O propósito do pattern “Memento” é, “Capturar e restabelecer o estado de um
objeto sem violar a encapsulação. Implementa pontos de verificação e mecanismos para
desfazer” (PONCE).
Patterns relacionado ao pattern “Memento” (PONCE);
“- ‘Comand’. Pode usar o padrão ‘Memento’ para manter um estado para
operações a desfazer.
- ‘Iterador’. Mementos podem ser usados para iterar.”
Dentre os patterns analisados, destacamos a necessidade de considerar o pattern
proxy na operacionalização de websites produzidos pelo software, pois o conceito deste
pattern pode estar sendo empregado na prática no casos em que usuários/visitantes
necessitam do uso de “serviços proxy” para o funcionamento dos browsers navegadores.
O emprego de “serviços proxy” pelo usuário/visitante pode limitar o uso de transmissões
de áudio e vídeo por streams, e como a base da interação de nosso modelo requer
freqüente uso de áudio, devemos então dar atenção especial ao pattern proxy no
desenvolvimento e uso do software.
Alguns paterns relatados nesta monografia podem ser seu conceito empregados
parcialmente e outros podem também ser empregados de forma combinada no
desenvolvimento do software ou no modelo de interação proposto.
35
2.9 – Lei de acessibilidade
A lei federal DECRETO Nº 5.296 de 2 de dezembro 2004 - DOU de 3/12/2004,
que regulamenta, estabelece normas gerais e critérios básicos para a promoção da
acessibilidade das pessoas portadoras de deficiência. A lei no capítulo dois determina que
seja dado prioridade nos órgãos da administração pública direta, indireta e funcional, as
empresas prestadoras de serviços públicos e as instituições financeiras, para pessoas
portadoras de deficiências.
No capítulo dois parágrafo primeiro, a lei categoriza as pessoas portadoras de
deficiências da seguinte forma:
a) 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, ostomia, amputação ou ausência de membro, paralisia cerebral,
nanismo, 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;
b) deficiência auditiva: perda bilateral, parcial ou total, de quarenta e um
decibéis (dB) ou mais, aferida por audiograma nas freqüências de 500Hz,
1.000Hz, 2.000Hz e 3.000Hz;
c) deficiência visual: cegueira, na qual a acuidade visual é igual ou menor que
0,05 no melhor olho, com a melhor correção óptica; a baixa visão, que
significa acuidade visual entre 0,3 e 0,05 no melhor olho, com a melhor
correção óptica; os casos nos quais a somatória da medida do campo visual em
ambos os olhos for igual ou menor que 60o; ou a ocorrência simultânea de
quaisquer das condições anteriores;
d) deficiência mental: funcionamento intelectual significativamente inferior à
média, com manifestação antes dos dezoito anos e limitações associadas a duas
ou mais áreas de habilidades adaptativas, tais como:
1. comunicação; 2. cuidado pessoal; 3. habilidades sociais; 4. utilização dos
recursos da comunidade; 5. saúde e segurança; 6. habilidades acadêmicas; 7.
lazer; e 8. trabalho;
36
e) deficiência múltipla - associação de duas ou mais deficiências;”
O governo federal na lei n.5.296 capítulo três no artigo oitavo, define
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”
O artigo oito também conceitua as barreiras à acessibilidade classificando-as de
quatro formas; barreiras urbanísticas, barreiras nas edificações, barreiras nos transportes
e barreiras nas comunicações:
“ II - barreiras: qualquer entrave ou obstáculo que limite ou impeça o acesso, a
liberdade de movimento, a circulação com segurança e a possibilidade de as
pessoas se comunicarem ou terem acesso à informação, classificadas em:
a) barreiras urbanísticas: as existentes nas vias públicas e nos espaços de uso
público;
b) barreiras nas edificações: as existentes no entorno e interior das edificações
de uso público e coletivo e no entorno e nas áreas internas de uso comum nas
edificações de uso privado multifamiliar;
c) barreiras nos transportes: as existentes nos serviços de transportes; e
d) barreiras nas comunicações e informações: qualquer entrave ou obstáculo
que dificulte ou impossibilite a expressão ou o recebimento de mensagens por
intermédio dos dispositivos, meios ou sistemas de comunicação, sejam ou não
de massa, bem como aqueles que dificultem ou impossibilitem o acesso à
informação;”
No capítulo 3 artigo oitavo da lei, é citado o termo “desenho universal” definido
como:
“desenho universal: concepção de espaços, artefatos e produtos que visam
atender simultaneamente todas as pessoas, com diferentes características
37
antropométricas e sensoriais, de forma autônoma, segura e confortável,
constituindo-se nos elementos ou soluções que compõem a acessibilidade.”
O prazo para atendimento à lei é de até vinte quatro meses a contar da data de
publicação do decreto, ou seja, até dezembro de 2007 torna-se obrigatório por lei a
acessibilidade aos portadores de deficiências visuais em websites e portais de todos os
órgãos da administração pública, e passa a condicionar determinados tipos de
financiamento do governo à regularidade em relação ao cumprimento desta lei. Capítulo
seis, artigo quarenta e sete define:
“Art. 47. No prazo de até doze meses a contar da data de publicação deste
Decreto, será obrigatória a acessibilidade nos portais e sítios eletrônicos da
administração pública na rede mundial de computadores (internet), para o uso
das pessoas portadoras de deficiência visual, garantindo-lhes o pleno acesso às
informações disponíveis.
§ 1o Nos portais e sítios de grande porte, desde que seja demonstrada a
inviabilidade técnica de se concluir os procedimentos para alcançar
integralmente a acessibilidade, o prazo definido no caput será estendido por
igual período.
§ 2o Os sítios eletrônicos acessíveis às pessoas portadoras de deficiência
conterão símbolo que represente a acessibilidade na rede mundial de
computadores (internet), a ser adotado nas respectivas páginas de entrada.
§ 3o Os telecentros comunitários instalados ou custeados pelos Governos
Federal, Estadual, Municipal ou do Distrito Federal devem possuir instalações
plenamente acessíveis e, pelo menos, um computador com sistema de som
instalado, para uso preferencial por pessoas portadoras de deficiência visual.
Art. 48. Após doze meses da edição deste Decreto, a acessibilidade nos portais
e sítios eletrônicos de interesse público na rede mundial de computadores
(internet), deverá ser observada para obtenção do financiamento de que trata o
inciso III do art. 2o.”
O texto do DECRETO Nº 5.296 pode ser consultado na integra em
http://www81.dataprev.gov.br/sislex/paginas/23/2004/5296.htm.
38
2.10 - Sintetizadores e leitores de voz
Os sintetizadores e leitores de voz são softwares que interpretam os textos escritos
ou telas de computadores narrando-os em voz audível, de forma a permitir que o usuário
ouça o conteúdo escrito nos documentos, as teclas pressionadas no teclado ou as palavras
formadas na digitação, além de leitura de conteúdos exibidos em telas do sistema
operacional e em páginas da internet. A tecnologia de sintetização de voz pode ser
utilizada também para reconhecer comandos de voz emitidos pelo usuário disparando
ações do sistema operacional, ou simplesmente escrever em documentos, textos narrados
pelo usuário. A seguir descrevemos alguns dos mais conhecidos e utilizados sistemas
sintetizadores específicos para usuários portadores de deficiências visuais.
DOSVOX – Conjunto de sistemas desenvolvido por pesquisadores do Núcleo de
Computação Eletrônica da Universidade Federal do Rio de Janeiro (UFRJ), com
finalidade de permitir a comunicação homem-máquina de usuários portadores de
deficiências visuais. A comunicação é viabilizada com a utilização combinada dos
softwares do projeto, com o qual o usuário pode interagir com o computador via
comandos de reconhecimento de voz do usuário, sintetização (leitura) de teclas
pressionadas no teclado, leitura de textos e páginas da internet. O projeto DOSVOX pode
ser configurado para utilização em outros idiomas e já possui milhares de usuários no
Brasil e no exterior. (DOSVOX).
Virtual Vision - Com objetivos similares ao do projeto DOSVOX o sistema
desenvolvido e comercializado, pela empresa brasileira Micropower permite que
deficientes visuais possam navegar no ambiente Windows e utilize aplicativos como
editores de texto, planilhas eletrônicas, naveguem pela internet, leia e redija e-mails,
utilizando recursos de sintetização de voz. O sistema possui recursos avançados que
facilitam a redação de textos com a leitura por tecla, palavra, por frases entre diversas
outras formas programáveis que proporciona facilidade e agilidade para o usuário
portador de deficiências visuais. (www.micropower.com.br)
Jaws for Windows – Conhecido mundialmente, o software desenvolvido para empresa
americana Freedom Scientific é composto por um conjunto de módulos que permite ao
39
usuário portador de deficiências visuais utilizar o sistema operacional Windows, além de
diversos aplicativos como, editores de texto, planilhas eletrônicas, agendas, ler e redigir
e-mails, e também permite o acesso para navegação na internet. Pode ser utilizado em
diversas línguas incluindo o português do Brasil. (www.lerparaver.com/jaws/).
2.11 – CMS – Content Management System
Sistema de Gerenciamento de Conteúdo é o conceito que permite aos usuários
de negócio gerenciarem os conteúdos de seus websites, portais corporativos, intranets ou
aplicações web, sem a necessidade de conhecimentos técnicos (programação) e através
de um software gerenciador de conteúdo também conhecido como CMS (Content
Management System) (NAVITA).
Existem alguns tipos de softwares de gerenciamento de conteúdo (NAVITA):
“- Publicadores: são softwares simples que não separam a camada de
apresentação do conteúdo e exigem um alto esforço de customização; ou seja,
podem ser bem aproveitados em pequenos projetos, como hotsites, porém se
necessitar algo mais avançado, é necessário customizar com alto esforço. São
simples e geralmente gerenciam conteúdos de páginas.
- Content Management Systems, Web Content Management, Gerenciadores de
conteúdo ou apenas CMS: são softwares mais robustos que permitem a
construção de grandes projetos, com funcionalidades avançadas, incluindo,
mas não se limitando a personalização, busca e indexação, workflow de
conteúdo, etc. A principal diferença entre um CMS e um publicador de
conteúdo é que o primeiro separa o conteúdo de sua forma de apresentação e
não se limita ao gerenciamento de conteúdo baseado em páginas, é possível
gerenciar objetos de conteúdo, documentos, etc.
- Enterprise Content Management: esta é a definição utilizada para os
grandes CMSs. A principal diferença é que este tipo de software permite
gerenciar conteúdo web e também outros conteúdos digitais, como documentos
em diversos formatos e também arquivos digitais como imagens e vídeos.”
40
Entre os mais conhecidos softwares CMS, destacamos ; CPG-Nuke, Drupal,
Joomla, Mambo, Moodle, MOZIS WebSystem, Php-Nuke, PHP-Flu, Plone, olgodi,
Typo3, Xoops, Loomla,
Entre as vantagens que um sistema de gerenciamento de conteúdo pode oferecer
MILLARCH destaca:
“- Estruturação do processo de autoria, no qual toda a sua equipe poderá
contribuir, cada um na sua área de atuação e conhecimento;
- Diminuição do tempo necessário para a criação de novas páginas e
atualizações das já publicadas;
- Harmonia estética com o resto do site e demais conteúdos;
- Melhor estruturação da navegação, mantendo a coerência com projeto inicial
de arquitetura da informação;
- Maior flexibilidade, para acrescentar ou editar conteúdos de forma
descentralizada e em qualquer lugar, dia ou noite, dentro ou não do escritório;
- Permissão granular de acesso às informações publicadas;
- Maior segurança;
- Gerenciamento de versão dos conteúdos;
- Escalabilidade;
- Diminuição dos custos de manutenção;
- Em termos simples, um CMS permite que a empresa tenha total autonomia
sobre o conteúdo e evolução da sua presença na internet e dispensa a
assistência de terceiros ou empresas especializadas para manutenções de
rotina. Nem mesmo é preciso um funcionário dedicado (o famoso webmaster),
pois cada membro da equipe poderá gerenciar o seu próprio conteúdo, diluindo
os custos com recursos humanos;
- A habilidade necessária para trabalhar com um sistema de gerenciamento de
conteúdo não vai muito além dos conhecimentos necessários para editar um
texto no Word.”
Segundo MILLARCH, embora possa parecer complexo, os CMS sob o ponto de
vista do usuário final é bastante simples. Ele oferece ferramentas que podem ser
acessadas via internet em qualquer navegador (Internet Explorer, Netscape, Firefox), e
41
permite realizar todo o processo de gerência, desde a criação até o arquivamento do
conteúdo, e é comum estar incorporado aos gerenciadores de conteúdo a possibilidade de
cuidar desde a aparência do site até mesmo os menus de navegação.
2.12 – Considerações finais
Neste capítulo, foi mostrado conceitos e definições sobre assuntos pertinentes a
nossa pesquisa, entre eles destacamos temas relacionados à interação humano-
computador como; usabilidade, ergonomia, acessibilidade, design de interfaces e
sintetizadores/leitores de voz. Outros temas abordados neste capítulo relacionam-se a
padrões web (web standards da W3C) e padrões de desenvolvimento (design pattern,),
ressaltamos porém que apesar de investirmos esforços para utilizá-los e/ou atendê-los,
inicialmente daremos prioridade a questões de ergonomia e usabilidade podendo deixar a
aderência a esses padrões para serem atingidas em aprimoramento de versões futuras do
software protótipo.
No próximo capítulo apresentaremos o resultado da pesquisa com o modelo de
interação proposto e o funcionamento do software protótipo desenvolvido.
42
3 - RESULTADO DA PESQUISA
Com o objetivo de aferir o sucesso do modelo proposto para interação de pessoas
portadoras de deficiências visuais em websites, desenvolvemos um software aplicativo
protótipo capaz de produzir websites com características adaptativas, que permite o
acesso tanto de pessoas com visão normal quanto pessoas portadoras de deficiências
visuais. No software desenvolvido, a interface para pessoas portadoras de deficiências
visuais foi projetada inicialmente apenas para deficientes com perda total da visão, ou
seja, pessoas com visão parcial, que poderiam se beneficiar também de adaptações para
utilização de recursos visuais tais como aumento de fontes das letras ou aumento do
contraste da tela, não são beneficiados no modelo proposto na versão atual de nosso
protótipo.
Da análise de requisitos ao desenvolvimento do protótipo foi dada prioridade ao
atendimento de facilidades ergonômicas e quesitos de usabilidade na interface, deixando
o quesito acessibilidade em menor prioridade. Esta decisão não pretende de forma
alguma dar menor importância à acessibilidade, apenas pretende privilegiar no modelo de
interação proposto a ergonomia e usabilidade, sem limitar a liberdade de criação de um
modelo que seja altamente adequado para portadores e não portadores de deficiências
visuais. Como resultado, os websites criados pelo software aplicativo, não são produzidos
totalmente aderentes aos padrões WCAG da W3C, com conseqüentes limitações à
acessibilidade, por outro lado, desta forma o aplicativo ganha muito em controles
avançados sob iteração com o usuário, permitindo níveis mais altos de assistência ao
usuário durante sua experiência de uso do website.
Durante o desenvolvimento do software pudemos perceber duas destinações
possíveis para o software. A primeira seria para desenvolvimento de aplicações web,
podendo ser utilizado como um framework e continuar recebendo agregações modulares
de novos recursos e funcionalidades, estendendo o potencial do software para
desenvolvimento de funcionalidades específicas para diversas aplicações para internet
como, por exemplo, aplicativos de gestão, comércio e governo eletrônico, ferramenta de
apoio a alfabetização e a educação de pessoas portadoras de deficiências visuais. A
segunda destinação poderia ser para uso do software como opção de aplicação CMS
(Content Management System), no qual o usuário administrador do website pode, mesmo
sem conhecimentos avançados em informática e programação, com o auxílio de
43
assistentes, criar websites que serão acessíveis para portadores e não portadores de
deficiências visuais.
3.1 - A forma de organização das informações na aplicação
Diferentemente do recomendado pela W3C, no modelo proposto todo o
conteúdo, textos, imagens, mensagens de voz humana gravada, menus e todas
informações ficam armazenados exclusivamente em bancos de dados e não em arquivos
HTML, XHTML e XML; e a aparência, formato de apresentação das páginas, tamanhos,
cores dos textos, cor do fundo e bordas não são definidos em arquivos CSS. Essas
definições são configurados no sistema de acordo com os objetivos esperados e conforme
a programação de interação desejada para cada ponto de interação. Na Figura 4,
ilustramos a funcionamento do sistema na produção de páginas criadas em tempo de
execução.
Figura 4 – Estrutura Conceitual do Site
A Figura 4 ilustra de forma de funcionamento do software protótipo
desenvolvido, pela qual o website é constituído de telas (templates) que são “montadas”
44
em tempo de execução com base em conteúdos e definições de layout que estão
armazenados em bancos de dados.
No Quadro 3, apresentamos a representação de parte da tabela de banco de dados
responsável por armazenar o conteúdo que o software utilizará para “montar” o website.
Nesta tabela, as informações são organizadas segundo uma estrutura hierárquica onde o
campo “Id OBJ” é a chave primária e a combinação dos campos “Nível” e “Opção
Menu” representam o ponto que o usuário/visitante está na navegação e quais as opções
possíveis a oferecer neste ponto.
Quadro 3 – Parte da tabela de armazenamento do conteúdo e configuração de interaçãoId OBJ Título do Conteúdo Nível Opção Menu Demais
Colunas...1 Home 1 01.1 Institucional 2 21.1.1 Quem Somos 3 21.1.2 Alianças e Parcerias 3 31.1.3 Nossos Clientes 3 41.2 Produtos e Serviços 2 31.2.1 Produtos 3 21.2.1.1 B3 – Sistema Integrado de Gestão 4 21.2.1.2 S3 – Gestão de Serviços Públicos 4 31.2.2 Serviços 3 31.2.2.1 Gestão de Negócios 4 21.2.2.2 Informática e TI 4 31.2.2.3 Serviços Web 4 41.2.3 Para pessoas e empresas 3 41.2.4 Para o governo e prefeituras 3 51.2.5 Para fins acadêmicos 3 61.2.6 Test Drive 3 71.3 Suporte 2 41.3.1 Chat on-line 3 21.3.2 Suporte & Help-Desk 3 31.3.2.1 Help-Desk Clientes Cadastrados 4 21.3.2.2 Suporte Clientes Não Cadastrados 4 31.4 Área Restrita 2 51.4.1 Web Mail 3 21.4.2 Administração do WebSite 3 31.5 Contatos 2 61.5.1 Chat on-line 3 21.5.2 Críticas e Sugestões 3 31.5.3 Contato 3 41.5.4 Fale com o Presidente 3 5
Nesta mesma tabela de banco de dados, são armazenadas em colunas (campos)
outros dados que não foram exibidos no Quadro 3. Destacamos entre eles os seguintes
campos essenciais para produção das páginas do website: conteúdo visível do menu,
conteúdo audível do menu, opções possíveis neste ponto, conteúdo visível da opção,
45
conteúdo audível da opção, opções de ajuda para a opção, funções a serem executadas
conforme ações realizadas pelo usuário/visitante neste ponto, entre diversas outras
propriedades que são utilizados na interação, conforme a navegação do usuário/visitante.
3.2 - Funcionamento do software aplicativo protótipo
Quando o usuário/visitante acessa de sua casa via internet nosso website modelo,
o sistema provedor, que é o nosso software protótipo, abre uma “seção de uso” que
mantêm controle sobre a interação, monitorando as ações do usuário/visitante,
identificando sua posição no website, e fazendo inferências sobre como assistí-lo,
conforme instruções pré-configuradas para aquele “ponto de interação”.
Em nosso trabalho, definiremos o termo “ponto de interação” como a localização
ou posição do usuário/visitante na navegação do website. Cada ponto de interação é
cadastrado no sistema protótipo pelo administrador do website, o qual também deve
configurar as interações possíveis para dar seqüência àquele ponto, cadastrando as
instruções e orientações a serem passadas ao usuário/visitante caso ele peça ajuda,
precise se recuperar de erros ou seja identificado que ele “se perdeu” na interação com o
website neste ponto. Um “ponto de interação” no sistema também pode ser entendido
como um registro na tabela de banco de dados, conforme ilustra o Quadro 3.
Figura 5 – Arquitetura Lógica do Sistema
46
A decisão sobre o leiaute das telas e o conteúdo a ser exibido em cada momento
durante o uso do website, depende dos cadastros e configurações armazenadas no banco
de dados e podem ser ilustrados conforme Figura 5.
Os padrões de acessibilidade WCAG da W3C, podem proporcionar vantagens
estabelecendo os padrões para apresentação de “Conteúdo” (HTML/XHTML) e sua
“Forma” (CSS), mas a “Configuração da Interação” normalmente está “embutido” na
combinação e uso de seqüências de navegação HTMLs e CSSs. Em nosso modelo
estendemos a representação de websites não se limitando apenas ao conteúdo e a forma,
mas também a interação do website, permitindo sua definição por meio de cadastros e
configurações registrados no sistema.
O comportamento e a aparência do website quando operado por usuários
portadores de deficiências visuais, difere muito pouco de quando acessado por usuários
não deficientes visuais. As diferenças residem apenas na reprodução sonora de conteúdo
e instruções e na exibição de um campo onde o cursor fica posicionado para receber as
instruções do teclado. O comportamento do sistema permite que pessoas não portadoras
de deficiências visuais possam acompanhar a navegação visualmente. A Figura 6 ilustra
uma tela (template) padrão do sistema.
Figura 6 – Exemplo de template para páginas do sistema
As opções que são narradas ao usuário/visitante são as mesmas que o sistema
exibe na tela em formato de menu quando o website é utilizado por pessoas não
47
portadoras de deficiências visuais. Na Figura 6, exibimos um template do sistema
instanciado para uma página exemplo, o usuário nesta ilustração já selecionou a opção de
exibição dos produtos oferecidos pela empresa.
Figura 7 – Exemplo de template instanciado do sistema.
Na Figura 7, podemos perceber que as opções apresentadas na área principal de
exibição (localizada na região central e a direita da tela), também fazem parte do menu
de navegação (a esquerda da tela). Neste exemplo, se o usuário/visitante desejar conhecer
o produto “Sites Municipais” ele deve clicar na tecla “3” e teclar “Enter”, conforme a
última orientação emitida pelo website para o usuário/visitante.
Um website produzido por este sistema possui uma “área restrita”, de acesso
apenas ao administrador do website, na qual estão disponíveis os recursos para sua
manutenção, tais como: inserção, atualização e exclusão de conteúdo de forma similar
aos programas CMS existentes atualmente. Assim como todo o website, sua tela de
configuração, foi desenvolvida pelo próprio sistema, portanto é aberto para o
administrador mudar ou alterar as próprias telas utilizadas para configurar o sistema.
No funcionamento dos websites produzidos pelo sistema, a ativação da interface
para pessoas portadoras de deficiências visuais pode ser realizada no momento em que os
usuários/visitantes entram em um website. Neste momento, é exibido no browser
(navegador de internet) uma página com aparência comum, com o cursor posicionado em
48
um campo já preenchido com valor “0”(zero), e é emitido automaticamente uma
mensagem de áudio com o seguinte dizer: “Esta página está preparada para ser acessada
por portadores de deficiências visuais! Para ativar a interface para deficientes visuais
pressione agora a tecla enter!”. Caso o usuário/visitante tecle “enter” a interface será
ativada e assistirá o usuário/visitante durante a navegação, se porém, o usuário/visitante
pressionar qualquer outra tecla, ou qualquer seleção via mouse, a interface não será
ativada e a navegação utilizará teclado, mouse e monitor de forma idêntica a interação
como é realizada em qualquer website da internet.
3.3 - O modelo de interação proposto
No modelo proposto, a interação no sentido homem-máquina é realizado por
intermédio do teclado, que pode ser “visto” pelo usuário portador de deficiências visuais
de forma mais eficaz com o emprego de teclas braile adesivas que, coladas ao teclado,
podem fornecer mais conforto e confiança ao usuário. Já a comunicação no sentido
máquina-homem, é realizada por áudio, podendo ser dependendo do ponto de interação e
dos objetivos previamente configurados para o website, voz humana pré-gravada ou texto
lido com sintetizador de voz. Seu funcionamento consiste, basicamente, na reprodução
sonora na estação de trabalho de pequenos arquivos do formato MP3 que são enviados
pelo website e executados, automaticamente, pelo browser conforme a navegação e as
ações realizadas pelos usuários/visitantes.
Com intenção de promover a melhor experiência possível a usuários/visitantes,
durante a navegação em websites produzidos no aplicativo protótipo, alguns padrões
foram adotados, considerando facilidades ergonômicas e conveniências de usabilidade. O
padrão para comunicação no sentido homem-máquina utiliza o teclado e reserva as teclas
“0”, “1” e “9”, para funções pré-determinadas, e produzindo o mesmo efeito/ação em
qualquer ponto do website e em qualquer website produzido pelo nosso software
aplicativo. As teclas reservadas produzem os seguintes efeitos:
0 – em qualquer lugar do sistema ao se digitar 0 (zero), o sistema entenderá que o
usuário/cliente está solicitando para ir a página inicial do website, equivalente a
opção/tecla “home” ou “Tela Principal” de websites;
49
1 – em qualquer lugar do sistema ao se digitar 1 (um), o sistema entenderá que o
usuário/cliente está solicitando que deseja voltar um nível na hierarquia do ponto
que ele está, equivalente a tecla “Voltar” no navegador web;
9 – em qualquer lugar do sistema ao se digitar 9 (nove) o sistema entenderá que o
usuário/cliente deseja que o sistema repita a narração o conteúdo da página no
ponto em que está no website, ou deseja ajuda para prosseguir;
? – Caso seja digitado “?” em qualquer ponto da navegação, o sistema realizará
inferências sobre as últimas interações e emitirá áudio informando sua posição,
como se recuperar e proceder para acessar o conteúdo de seu interesse.
Já os demais caracteres (número e letras) poderão ser utilizados para programação
da interação, a ser realizado pelo administrador do website. É a programação de interação
que viabiliza a interface para portadores de deficiências, seqüenciando as mensagens
narradas ao usuário/visitante de forma assistida em cada ponto de interação. A seguir
apresentamos um caso de uso que representa bem a utilização dos elementos de interação
definidos no modelo:
Ação/Resposta do Ator (usuário/visitante) Resposta/Ação do Sistema (protótipo modelo)1. Um usuário/visitante acessa o website. 2. Abre a página principal (home), e apresenta por
áudio mensagem de boas vindas.Exemplo de mensagem: “Bem vindo a nossa página.Esta página está preparada para ser acessada porpessoas portadoras de deficiências visuais. Para ativara interface para portadores de deficiências visuaispressione a tecla ENTER”.3.1. Exibe o website, exibindo o conteúdo da páginaprincipal (inicial) com aparência típica de websitespadrões da internet.3.2. Posiciona o cursor no campo “Opções”, que já éexibido no browser preenchido com valor “0” (zero)
50
Ação/Resposta do Ator (usuário/visitante) Resposta/Ação do Sistema (protótipo modelo)4. Caso confirme pressionando a tecla “ENTER”após a orientação de “boas vindas”, siga para opasso 5 Caso seja informado qualquer outra teclaou clique de mouse, o sistema não habilita ainterface com interação assistida, oculta o campoopções e não emite mais mensagens de áudio.
5. Confirma anunciando a posição do usuário/visitanteno website e narra o conteúdo do ponto de interação,ou, anuncia as opções de navegação neste ponto.Exemplo de mensagem: “Página Principal!”, . Paraacessar determinado tipo de informação tecle 2, paraconhecer determinado assunto tecle 3, para acessaroutra informação tecle 4 e para determinado tipo deprocedimento tecle 5. Depois que clicar o númerocorrespondente confirme com ENTER”Observação: as opções apresentadas foram inseridas econfiguradas pelo administrador do website, porém,as teclas “0”, “1”, “9” e “?” são reservadas pelosistema e não podem ser utilizadas pelo administradordo website.
6. Conforme opções apresentadas pelo website ousuário/visitante decide pela opção que oconduzirá ao acesso do assunto desejado.
7. Confirma anunciando a posição do usuário/visitanteno website e; narra o conteúdo do ponto de interação,ou, anuncia as opções de navegação neste ponto.Exemplo de mensagem para este ponto: “Você está napágina/assunto ... !
8. Caso o usuário/visitante tecle :0 – Vá para o ponto 5 ;1 – Vá para o ponto 5 ou 7 dependendo daprofundidade do ponto em que está;9 – Vá para o ponto 7;? – Passa orientações de ajuda pré-configuradaspara o ponto 7.Outras teclas – Segue para o ponto 9.
9. Confirma anunciando a posição do usuário/visitanteno website e narra o conteúdo do ponto de interação,ou, anuncia as opções de navegação do ponto deinteração selecionado no ponto 8.
10. Vá para o ponto 6.
3.4 - Exemplos de interação utilizando a interface para deficientes visuais
Com objetivo de exemplificar a utilização do método de interação apresentaremos
dois exemplos de utilização, um utilizando o template principal e outro utilizando
template de formulário de cadastro. A seguir apresentaremos um caso de uso que
demonstra as iterações necessárias para o usuário/visitante conseguir conhecer o produto
fictício “sistema de gestão de serviços públicos” em nosso website modelo.
Caso de Uso: Navegação no template principal do website por pessoas portadorasde deficiências visuais.
Atores envolvidos: Usuários/VisitantesFinalidade: Assistir ao usuário visitante portador de deficiências visuais na
navegação e utilização do website, com objetivo de conhecer dentreos produtos oferecidos pela empresa, o produto “Sistema de Gestãode Serviços Públicos”.
Visão Geral: Um usuário/visitante uma vez acessado o website deve ter apoio
51
Caso de Uso: Navegação no template principal do website por pessoas portadorasde deficiências visuais.assistido para que possa navegar pelo website e ter acesso aoconteúdo de seu interesse.
Pré-Condição O usuário/visitante deve em seu computador ter condições deacessar o website em navegadores de internet (browsers).
Seqüência Típica de Eventos:
Ação/Resposta do Ator (usuário/visitante) Resposta/Ação do Sistema (protótipo modelo)1. Um usuário/visitante acessa o website. 2. Abre a página principal (home) e apresenta, por
áudio, mensagem de boas vindas.Exemplo de mensagem: “Bem vindo a nossa página.Esta página está preparada para ser acessada porpessoas portadoras de deficiências visuais. Para ativara interface para portadores de deficiências visuaispressione a tecla ENTER”.3.1. Exibe o website, exibindo o seu conteúdo comaparência de websites padrões da internet.3.2. Posiciona o cursor no campo “Opções”, que já éexibido na browser preenchido com valor “0” (zero)
4. Caso confirme pressionando a tecla “ENTER”após a orientação de “boas vindas”, siga para opasso 5 Caso seja informado qualquer outra teclaou clique de mouse, o sistema não habilita ainterface com interação assistida e segue ospassos conforme descreve o CaminhoAlternativo 5.1.
5. Confirma anunciando a posição do usuário/visitanteno website e narra o conteúdo do ponto de interação,ou, anuncia as opções de navegação neste ponto.Exemplo de mensagem: “Página Principal. Paraacessar informações sobre nossa empresa tecle 2, paraconhecer nossos produtos e serviços tecle 3, paraconhecer quem são nossos clientes tecle 4 e paraentrar em contato conosco tecle 5. Depois que clicar onúmero correspondente confirme com ENTER”Observação: as opções apresentadas foram inseridas econfiguradas pelo administrador do website, porém,as teclas “0”, “1”, “9” e “?” são reservadas pelosistema e não podem ser utilizadas pelo administradordo website.
6. Caso o usuário/visitante opte em conhecer osprodutos da empresa ele deve teclar “3” e emSeguida teclar ENTER.
7. Confirma anunciando a posição do usuário/visitanteno website e narra o conteúdo do ponto de interação,ou, anuncia as opções de navegação neste ponto.Exemplo de mensagem para este ponto: “Produtos eserviços da empresa! Para conhecer os produtos daempresa tecle 2 e depois ENTER, para conhecer osserviços da empresa tecle 3 seguido de ENTER”.
52
Ação/Resposta do Ator (usuário/visitante) Resposta/Ação do Sistema (protótipo modelo)8. Caso o usuário/visitante opte em conhecer osprodutos da empresa, deve-se clicar 2 e emSeguida ENTER.
9. Confirma anunciando a posição do usuário/visitanteno website e narra o conteúdo do ponto de interação,ou, anuncia as opções de navegação neste ponto.Exemplo de mensagem para este ponto: “Produtos daempresa! Para conhecer o sistema integrado de gestãoB3 tecle 2 e ENTER; Para conhecer o sistema degestão de serviços públicos tecle 3 e depois tecleENTER.
10. Caso o usuário/visitante opte em conhecer oproduto – sistema de gestão de serviços públicos,deve-se clicar a tecla 3 e em Seguida ENTER.
11. Confirma anunciando a posição dousuário/visitante no website e narra o conteúdo doponto de interação, ou, anuncia as opções denavegação neste ponto.Exemplo de mensagem para este ponto: “Parainterromper a leitura e voltar para conhecer outrosprodutos tecle 1, para voltar para a página principal,tecle 0. O sistema de gestão de serviços públicos. ...”após esta introdução é narrado as informações quedescrevem o conteúdo referente ao item selecionado.
12. Caso o usuário/visitante tecle ;0 – Vá para o ponto 5 ;1 – Vá para o ponto 7 ;9 – Vá para o ponto 11;? – Passa orientações de ajuda pré-configuradaspara o ponto 11.
13. Confirma anunciando a posição dousuário/visitante no website e narra o conteúdo doponto de interação, ou, anuncia as opções denavegação do ponto de interação selecionado noponto 12.
Caminhos alternativos:
- A qualquer momento o usuário/visitante pode interromper a narração do website,
informando as teclas padrão do sistema ou adiantando a opção antes de se
terminar a narração das opções;
- No passo 4, caso o usuário/visitante selecione qualquer outra opção ou clique
alguma opção diferente de ENTER, siga o caminho alternativo 5.1. descrito a
seguir;
Ação/Resposta do Ator (usuário/visitante) Resposta/Ação do Sistema (protótipo modelo)
5.1. Desabilita a comunicação de áudio e oculta ocampo “Opções” do sítio.5.2. Aguarda ação do usuário por intermédio doteclado e mouse com comportamento idêntico awebsites típicos da internet.
O caso de uso a seguir representa a interação utilizando template de formulário
para contato conforme ilustra a Figura 8, neste tipo de formulário o sistema apoia o
usuário/visitante durante o preenchimento campo a campo.
53
Figura 8 – Exemplo de template de formulário.
Caso de uso utilizando formulários:
Ação/Resposta do Ator (usuário/visitante) Resposta/Ação do Sistema (protótipo modelo)
1. Um usuário/visitante portador dedeficiência visual acessa o website.Objetivo exemplo: entrar em contato com adireção do website para fazer um comentário.
2. Abre a página principal (home), e apresentapor áudio mensagem de boas vindas.Exemplo de mensagem: “Bem vindo a nossapágina. Esta página está preparada para seracessada por pessoas portadoras de deficiênciasvisuais. Para ativar a interface para portadores dedeficiências visuais pressione a tecla ENTER”.3.1. Exibe o website, com leiaute da páginaprincipal (inicial) com aparência típica dewebsites padrões da internet.3.2. Posiciona o cursor no campo “Opções”, quejá é exibido na browser preenchido com valor “0”(zero)
54
Ação/Resposta do Ator (usuário/visitante) Resposta/Ação do Sistema (protótipo modelo)
4. Caso confirme pressionando a tecla“ENTER” após a orientação de “boasvindas”, siga para o passo 5. Caso sejainformado qualquer outra tecla ou clique demouse, o sistema não habilita a interface cominteração assistida, oculta o campo opções enão emite mais mensagens de áudio e owebsite passa a se comportar como websitestípicos da internet.
5. Confirma anunciando a posição dousuário/visitante no website e narra o conteúdodo ponto de interação, ou, anuncia as opções denavegação neste ponto.Exemplo de mensagem: “Página Principal. Paraacessar informações sobre nossa empresa tecle 2,para conhecer nossos produtos e serviços tecle 3,para conhecer quem são nossos clientes tecle 4 epara entrar em contato conosco tecle 5. Depoisque clicar o número correspondente confirmecom ENTER”Observação: as opções apresentadas foraminseridas e configuradas pelo administrador dowebsite, porém, as teclas “0”, “1”, “9” e “?” sãoreservadas pelo sistema e não podem serutilizadas pelo administrador do website.
6. Conforme opções apresentadas pelowebsite o usuário/visitante decide pela opçãoque o conduzirá ao acesso do assuntodesejado.Caso o usuário opte em entrar em contadodeve-se entrar com o número 5 e depoisconfirmar com ENTER.Caso seja informado os valores abaixo,proceder conforme descrito;0 – Vá para o ponto 5 ;9 – Vá para o ponto 5;? – Passa orientações de ajuda pré-configuradas para o ponto 5.
7. Abre o formulário para contato e posiciona ocursor no campo “Nome”.8. Emite áudio anunciando a posição dousuário/visitante no website e orienta sobre comooperar no formulário de contato. Exemplo de mensagem: “Formulário de contato!Você está no campo nome. Informe o seu nome etecle ENTER para continuar!”
9. Digita o nome e tecla enter – ir para oponto 10.Caso seja informado os valores abaixo,proceder conforme descrito;0 – Vá para o ponto 5 ;1 ou Shift/Tab – Vá para o ponto 79 – Vá para o ponto 7;? – Passa orientações de ajuda pré-configuradas para o ponto 7.
10. Lê para o usuário/visitante por meio desintetização de voz, o texto que o foi digitado nocampo nome, posiciona o cursor no campotelefone e passa instruções sobre comoprosseguir.Exemplo de mensagem: “Formulário contato!Você informou no campo nome ...” + (leitura donome digitado) + “Agora você está no campotelefone. Informe o número de telefone paracontato e tecle ENTER para continuar. Paravoltar para o campo nome tecle Shift/Tab”.
11. Digita o telefone e tecla enter – ir para oponto 12.0 – Vá para o ponto 5 ;1 ou Shift/Tab – Vá para o ponto 79 – Vá para o ponto 10;? – Passa orientações de ajuda pré-configuradas para o ponto 10.
12. Lê para o usuário/visitante por meio desintetização de voz, o texto que o foi digitado nocampo telefone, posiciona o cursor no campo e-mail e passa instruções sobre como prosseguir.Exemplo de mensagem: “Formulário contato!Você informou no campo telefone ...” + (leiturado número de telefone digitado) + “Agora vocêestá no campo e-mail. Informe seu e-mail para
55
Ação/Resposta do Ator (usuário/visitante) Resposta/Ação do Sistema (protótipo modelo)
contato e tecle ENTER para continuar. Paravoltar para o campo telefone tecle Shift/Tab”.
13. Digita o e-mail e tecla enter – ir para oponto 14.0 – Vá para o ponto 5 ;1 ou Shift/Tab – Vá para o ponto 109 – Vá para o ponto 12;? – Passa orientações de ajuda pré-configuradas para o ponto 12.
14. Lê para o usuário/visitante por meio desintetização de voz, o texto que o foi digitado nocampo e-mail, posiciona o cursor no campo deredação de mensagem e passa instruções sobrecomo prosseguir.Exemplo de mensagem: “Formulário contato!Você informou no campo e-mail ...” + (leitura doe-mail digitado) + “Agora você está no campo deredação do texto de contato. Digite a mensagemque deseja enviar e em seguida tecle ENTERpara continuar. Para voltar para o campo e-mailtecle Shift/Tab”.
15. Digita o mensagem a enviar e tecla enter– ir para o ponto 16.0 – Vá para o ponto 5 ;1 ou Shift/Tab – Vá para o ponto 129 – Vá para o ponto 14;? – Passa orientações de ajuda pré-configuradas para o ponto 14.
16. Lê para o usuário/visitante por meio desintetização de voz, o texto que o foi digitado nocampo de mensagem e passa instruções sobrecomo prosseguir.Exemplo de mensagem: “Formulário contato!Você informou no campo mensagem ...” +(leitura da mensagem digitada) + “Para confirmare enviar a mensagem tecle ENTER. Para voltarpara o campo de digitação de texto tecleShift/Tab”.
17. Confirma teclando ENTER – ir para oponto 18.0 – Vá para o ponto 5 ;1 ou Shift/Tab – Vá para o ponto 149 – Vá para o ponto 16;? – Passa orientações de ajuda pré-configuradas para o ponto 16.
18. Confirma o sucesso no registro e envio damensagem, e volta para página principal.
Como pode ser visto, a interface segue um padrão de interação, onde a cada ação
do usuário o website posiciona o usuário/visitante sobre sua localização no site e na
seqüência o orienta sobre como prosseguir a navegação.
56
4 – CONCLUSÕES
A metodologia adotada na condução desta pesquisa contribuiu de forma a
assegurar que os objetivos que foram propostos fossem atingidos. Destacando-se a opção
por realizar a pesquisa propondo um modelo para o qual foi possível desenvolver o
protótipo testável que, permitiu concluir de forma fundamentada e objetiva sobre o
atendimento ou não dos objetivos propostos.
Quanto ao objetivo geral desta monografia, conclui-se que foi possível chegar a
uma avaliação sobre a funcionalidade do modelo de interação em websites produzidos no
aplicativo desenvolvido, sendo necessário ainda realizar testes mais elaborados utilizando
usuários reais para validar de forma mais consistente a qualidade da interação
proporcionada pelo sistema em seus websites.
Para testes iniciais toda a navegação de acesso ao conteúdo, o preenchimento de
formulários e as leituras de relatórios foram realizados por pessoas com visão normal,
porém, com os monitores desligados. Podemos considerar como válido este experimento
pois, o ambiente de interação com o website sem o vê-lo é similar a experiência que um
portador de deficiências visuais alfabetizado teria. Desta forma, é possível aferir como
satisfatória a experiência de interação, considerando o modelo proposto viável para
promover a interface de interação entre websites da internet e pessoas portadoras de
deficiências visuais. Cabe ressaltar que os itens e variáveis utilizadas na avaliação da
implementação do modelo proposto, e suas relevâncias, são de difícil mensuração, pois
lidam com medidas estimadas e subjetivas.
Apesar da avaliação do modelo proposto poder ser considerada inicialmente
satisfatória, e destes websites possuírem características que de fato favoreçam a
usabilidade, devemos lembrar das barreiras a serem vencidas pelo portador de deficiência
visual até o momento do acesso ao website em browsers navegadores de internet, para
tanto, destacamos a necessidade do uso de programas instalados nos computadores que
os apoiem a partir do momento em que a máquina é ligada, e viabilize as operações
básicas do sistema operacional em conexões de rede, internet, e os ajude a acessar a
websites. A partir do acesso ao nosso website modelo, a interação passa a ser
integralmente assistida pelo aplicativo, que passa a apoiar o usuário/visitante na
navegação dentro do website, realizando leitura narrada do conteúdo de interesse e
ajudando no preenchimento de formulários e na leitura de relatórios. Tudo isto é
57
realizado pelo website modelo de forma autônoma e independente, não requerendo a
instalação de softwares, ou de qualquer recurso ou funcionalidade adicional, além dos
recursos básicos de qualquer micro computador atual com kit de multimídia.
Os websites produzidos pelo software desenvolvido não estão plenamente em
conformidade a todos os quesitos de “acessibilidade”, apesar de ter se mostrado
inicialmente adequado ao atendimento das necessidades básicas de usabilidade e
ergonomia. A limitação da “acessibilidade”, ocorre basicamente pelo não atendimento
dos formatos HTML e CSS recomendados pelo WCAG da W3C, contudo, lembramos
que o objetivo maior desta pesquisa não é o atendimento aos padrões da W3C, mas sim o
desenvolvimento de um modelo de interação em sí.
58
5 – CONSIDERAÇÕES FINAIS
Apesar de podermos inferir sobre a capacidade do software aplicativo
desenvolvido de produzir websites acessíveis para pessoas portadoras de deficiências
visuais e não portadoras de deficiências visuais, consideramos em nosso trabalho apenas
portadores de deficiências visuais alfabetizados com perda total de visão. O software
aplicativo desenvolvido poderia ser melhorado para atender também a portadores de
deficiências com visão parcial ou visão reduzida em seus vários níveis de cegueira, que
poderia permitir a combinação dos recursos de áudio com recursos visuais ajustáveis
conforme níveis de visão do usuário/visitante.
Destacamos como um ponto fraco no conceito de website e sistemas que se
propõe a interagir de forma autônoma e independente com usuários portadores de
deficiências visuais, a necessidade de se ter que utilizar softwares acessórios para
viabilizar o uso de rotinas do sistema operacional, possibilitar a seleção dos programas
que se deseja acessar e os documentos ou assuntos a serem manipulados, sendo este um
requisito obrigatório para pessoas portadoras de deficiências visuais e que merece
contínuos esforços para facilitar tecnicamente e viabilizar financeiramente o uso destes
softwares já que muitos deles são pagos.
Considerando que o software aplicativo também tem o propósito de ser utilizado
por desenvolvedores, destacamos dentre as possibilidades a de se desenvolver aplicações
de apoio a gestão, ferramentas administrativas, sistemas de governo-eletrônico, sistemas
financeiros e contábeis, ensino a distância e como ferramenta de apoio a educação e
alfabetização de pessoas portadoras de deficiências visuais, dentre diversos outros
empregos possíveis.
Um recurso que pode proporcionar alguma facilidade extra seria possibilitar
personalizações no caso de usuários identificados, de forma a permitir acrescentar outras
teclas padrões de uso próprio, além das já existentes e reservadas pelo sistema (0,1,9,?),
possibilitando os usuários criarem “teclas de atalho”.
Outra consideração importante é em relação ao quesito “acessibilidade”, pois
adequar o sistema para produzir os websites aderentes aos formatos e padrões WCAG da
W3C, é uma tarefa tecnicamente possível de ser realizada e significaria um grande
benefício, estendendo ainda mais a capacidade de interação aliando a usabilidade e
ergonomia proporcionada no modelo proposto com a acessibilidade para ser também
59
utilizado em outros programas, desenvolvidos especificamente para operação utilizando
acessibilidade nos padrões da W3C.
Um estudo mais aprofundado sobre design patterns envolvendo o modelo de
interação proposto, seu funcionamento e a arquitetura do software protótipo
desenvolvido, poderia ajudar a identificar melhor os patterns empregados e a reconhecer
também se o modelo de interação proposto se enquadra em algum pattern existente ou se
seu formato pode sugerir algum novo pattern.
Implementações futuras no aplicativo poderiam estender o potencial de interação
dos websites com o emprego de tecnologias de reconhecimento de voz para que os
usuários pudessem se comunicar no sentido usuário-website também via comandos de
voz, e não limitado somente a comunicação via teclado como é realizado na versão do
protótipo utilizada neste trabalho.
60
BIBLIOGRAFIA
ABERGO. Associação Brasileira de Ergonomia – O que é Ergonomia. Disponível em:http://abergo.org.br/oqueeergonomia.htm. Acessado em Janeiro/2007.
BERTALANFFY, Ludwig Von. Teoria Geral dos Sistemas. Trad. Francisco M.Guimarães. 2º Edição. Petrópolis: Vozes, 1975. (Tradução de: General System Theory,1968)
BEVAN N . Quality in use: meeting user needs for quality. In: Journal of Systems andSoftware, 1999.
BIO, Sérgio Rodrigues. Sistemas de informação – Um enfoque gerencial. São Paulo,Atlas, 1988.
BOING, Hamilcar. Bases Metodológicas para a Construção de FerramentasComputacionais para Programas Educacionais de Caráter Social – UFSC –Disponível em: http://www.teses.eps.ufsc.br/defesa/pdf/5412.pdf. Acessado emFevereiro/2007.
BONNATO, Selmo José. O Desenvolvimento de um Modelo de Ambiente Promotorde Inclusão de Pessoas com Deficiência Visual na WEB – UFSC - Disponível em:http://www.teses.eps.ufsc.br/defesa/pdf/8001.pdf. Acessado em Fevereiro/2007.
CHURCHMAN, C. West. Introdução à Teoria dos Sistemas. Trad. Francisco M.Guimarães. 2º Edição. Petrópolis: Vozes, 1972. (Tradução de: The Systems Approach,1968).
DAVENPORT, Thomas H., PRUSAK, Laurence. Conhecimento Empresarial: Comoas organizações gerenciam o seu capital intelectual. Tradução: Lenke Peres. 3º Edição.Rio de Janeiro: Campus, 1998.
DOSVOX, Disponível: site Projetos de acessibilidade do NCE/UFRJ. URL:http://intervox.nce.ufrj.br, consultado em novembro de 2006.
FERREIRA. Aurélio Holanda - Novo Dicionário Aurélio da Lingua Portuguesa - Riode Janeiro. Editora Nova Fronteira, 1986
GIL, Antonio Carlos. Como Elaborar Projetos de Pesquisa. 3º Edição. São Paulo,1996.
MILLARCH, Francisco. http://webinsider.uol.com.br/index.php/2005/06/08/o-que-e-cms-e-porque-voce-precisa-de-um/ (acesso em março/2007)
61
NAVITAhttp://www.navita.com.br/neo/site/comunidade/definicoes/gerenciamentodeconteudo.cfm(acesso em março/2007)
O’BRIEN, James A. Sistemas de informação e as decisões gerenciais na era daInternet. Tradução: Cid Knipel Moreira. São Paulo: Saraiva, 2002.
OLIVEIRA, Djalma de Pinho Rebouças. Sistemas de Informações Gerenciais:estratégicas, táticas, operacionais. São Paulo: Atlas, 1992.
POLLONI, Enrico Giulio Franco. Administrando Sistemas de Informação. 2º EdiçãoSão Paulo: Futura, 2000.
PONCE, Yalmar. Desenho de padrões. UFRJ – LCG (Laboratório de ComputaçàoGráfica). Disponível em: http://www.lcg.ufrj.br/Members/yalmar/design_patterns.Acesso em fev/2007.
SILVA, Sérgio R.P. Notas de Aula da Disciplina Web Design do Curso deEspecialização em Desenvolvimento de Sistemas para Web – DIN/UEM, Maringá,2005.
SOUZA, Clarisse S. et al. Projeto de interfaces de usuário – Perspectivas cognitivas esemióticas. Disponível em: <http:// www.dimap.ufrn.br/~jair/piu/JAI_Apostila.pdf>acesso em fev/2007.
TAIT, Tânia F.C. Notas de Aula da Disciplina e-business do Curso de Especializaçãoem Desenvolvimento de Sistemas para Web – DIN/UEM, Maringá, 2005.
UFRJ_1, Universidade Federal do Rio de Janeiro– LCG (Laboratório de ComputaçãoGráfica). Curso - Tópicos Especiais em Computação Gráfica Design Patterns.Disponível em: http://www.lcg.ufrj.br/cursos. Acesso em fev/2007.
W3C – World Wide Web Consortium – Consórcio formado para determinação deregras de acessibilidade na web. Disponível em: <http://www.w3c.org/>, acesso emJaneiro de 2007.
WAI – Web Accessibility Initiative – Iniciativa para acessibilidade na web. Disponívelem: <http://www.wai.org/>, acesso em Janeiro de 2007.
WILLIANS, Robin. Design pra quem não é designer. 3a. Edição, São Paulo,Editora Callis, 1995.