Testar um Aplicativo Oracle JET para Acessibilidade: Inspeção Visual
Introdução
As WCAG (Web Content Accessibility Guidelines) 2.2 contêm um conjunto de mais de sessenta critérios de sucesso para criar um aplicativo Web acessível. Nesta programação de estudo, vamos nos concentrar em um subconjunto desses critérios que se concentra principalmente em:
- Usando um teclado para interagir com o aplicativo.
- Usando um leitor de tela para navegar no aplicativo.
- Usar uma lupa de tela para aprimorar o campo visual.
Este tutorial se concentra em onde o teste de um aplicativo começa: a inspeção visual. Este tutorial e os dois que o seguem, Testar um Aplicativo Oracle JET para Acessibilidade Somente para Teclado e Executar Validação de Leitor de Tela em um Aplicativo Oracle JET, irão orientá-lo nas etapas de teste necessárias. Você deve concluir esses três tutoriais de teste antes de continuar a programação de estudo.
O primeiro passo na avaliação de um aplicativo web para acessibilidade é realizar uma revisão visual do aplicativo. Durante a revisão, procure os seguintes itens:
- Estrutura da página: As seções da página são identificadas por cabeçalhos?
- Título da página: O título da página reflete com precisão a página que está sendo visualizada?
- Ignorar link de navegação: As páginas do aplicativo incluem um link de navegação para facilitar a navegação para o conteúdo principal de cada página?
- Cor e posição: Existem rótulos para identificar as cores ou posições dos controles?
- Readability: A página é legível por pessoas com baixa visão?
Objetivos
Neste tutorial, você aprenderá a executar um teste de acessibilidade manual de um aplicativo Web, bem como aprenderá como a estrutura do Oracle JavaScript Audit pode ajudar a encontrar problemas de acessibilidade.
Pré-requisitos
- Um ambiente de desenvolvimento configurado para criar aplicativos Oracle JET com a interface de linha de comando JavaScript runtime, Node.js e Oracle JET release 13.0 ou posterior instalada
- Familiaridade com os objetivos desta programação de estudo: Criando Aplicativos Acessíveis do Oracle JET
- Google Chrome navegador web instalado e definido como o navegador web padrão
- Acesso ao Guia do Desenvolvedor do Oracle JET
- Faça download do aplicativo inicial ACCLearningPath.zip
Tarefa 1: Preparar o Aplicativo Starter
Estamos usando um aplicativo inicial do Oracle JET 13.0 Nav Drawer nesta programação de estudo.
-
No local do sistema de arquivos onde você deseja que o aplicativo resida, extraia o arquivo baixado ACCLearningPath.zip em uma pasta
ACCLearningPath
. -
Abra uma janela de terminal e verifique se a versão mais recente da CLI (interface de linha de comando) do Oracle JET está instalada (a versão 13.0 ou posterior é necessária).
$ ojet --version
Se a versão mais recente da CLI do Oracle JET for exibida, a instalação estará correta. Caso contrário, reinstale usando o comando
npm install
para sua plataforma.-
Para Windows:
$ npm install -g @oracle/ojet-cli
-
Para sistemas Mac e Linux:
$ sudo npm install -g @oracle/ojet-cli
Após a conclusão da instalação, a CLI do Oracle JET mostra um resumo de todas as alterações.
-
-
Navegue até o diretório
ACCLearningPath
e restaure o conjunto de ferramentas do aplicativo Oracle JET.$ ojet restore
-
Execute o aplicativo.
$ ojet serve
O conjunto de ferramentas do Oracle JET executa seu aplicativo em um web browser local. O navegador é aberto na página Introdução do aplicativo, com a guia Visão Geral carregada. O aplicativo está pronto para uso.
Deixe a janela do terminal e o navegador aberto para que seu aplicativo seja atualizado automaticamente com as alterações que você fizer.
Tarefa 2: Auditar o Aplicativo
O Oracle JET Audit Framework (JAF) é um utilitário de linha de comando e uma API de suporte projetada para auditar os arquivos de um aplicativo Oracle JET, com base nas opções de runtime encontradas em um arquivo de configuração. As mensagens de diagnóstico retornadas pela auditoria de um aplicativo derivam de conjuntos de regras incorporados que são específicos da versão da release do JET do aplicativo. No entanto, a estrutura de auditoria é extensível, e os usuários podem estender seus recursos escrevendo regras personalizadas.
As auditorias do Oracle JAF podem ajudar a identificar a acessibilidade e outros problemas em seus aplicativos, embora não encontrem todos os problemas de acessibilidade que abordaremos no aplicativo ACCLearningPath
. É por isso que, além de auditar o aplicativo, você deve seguir o procedimento e as etapas descritas nesta programação de estudo Identificar Problemas de Acessibilidade para encontrar e resolver problemas de acessibilidade. Uma auditoria JAF deve ser executada no início de tornar o aplicativo de amostra acessível, a fim de identificar possíveis problemas em seu aplicativo antes de iniciar seu trabalho. Para obter mais informações sobre o Oracle JAF, consulte Usando e Estendendo o Oracle JET Audit Framework.
Faça download do Oracle JAF e use-o no modo CLI para verificar problemas de acessibilidade.
-
Use o
npm
para instalar a CLI do Oracle JAF.Abra uma janela de terminal e verifique se há versões instaladas do Oracle JAF.
$ ojaf -v
Se não estiver instalado ou se a sua versão do JAF não for a versão atual, desinstale as versões mais antigas e instale a versão mais atual.
$ npm uninstall -g @oracle/oraclejet-audit
$ npm install -g @oracle/oraclejet-audit
-
Navegue até o diretório
ACCLearningPath
do seu aplicativo e use o flag de linha de comando--init
para inicializar uma configuração JAF padrão.$ ojaf --init
O conjunto de ferramentas efetua scaffolds do arquivo de configuração JAF padrão
oraclejafconfig.json
no diretórioACCLearningPath
e define as definições de configuração padrão com base no arquivo de configuração do aplicativo JEToraclejetconfig.json
, também localizado no diretório raiz do aplicativo. -
Abra o
oraclejafconfig.json
no editor e certifique-se de que o valor da propriedadejetVer
esteja correto para a versão do JET que você deseja auditar (por exemplo, 13.0, 13.1 e assim por diante)."builtinJetRules": true, "jetVer": "13.0",
Você pode personalizar sua auditoria de aplicativo adicionando ou alterando propriedades do JAF no arquivo
oraclejafconfig.json
. Uma descrição completa das opções de configuração é encontrada em Sobre as Propriedades do Arquivo de Configuração do Oracle JAF. -
Antes de auditar o aplicativo pela primeira vez, você pode confirmar a configuração padrão dos arquivos que o JAF auditará usando o flag de linha de comando
--dryrun
.$ ojaf --dryrun
Um dryrun não audita o aplicativo, mas confirma os arquivos a serem auditados com base nas definições atuais de configuração do JAF.
Observação: Você pode obter uma lista completa de flags de linha de comando informando o comando
ojaf --help
. -
Execute uma auditoria do seu aplicativo informando o comando para chamar o utilitário de auditoria JAF.
$ ojaf
-
Quando você executa a auditoria, o Oracle JAF pesquisa o diretório
oraclejafconfig.json
e cria um relatório de auditoria.O relatório listará os problemas de quebra de regras encontrados no aplicativo, bem como suas localizações nos arquivos do aplicativo. Além disso, o relatório inclui um resumo dos problemas encontrados e suas severidades, as regras auditadas e os arquivos auditados.
Na lista de problemas do relatório de auditoria, observe o problema do nível de severidade
blocker
encontrado no arquivodepartments.html
:'aria-label' or 'aria-labelledby' missing on <oj-film-strip>
.Está faltando uma propriedade
aria-label
no componente film-strip no aplicativo, o que pode impedir que um leitor de tela acesse a identidade do componente. Este é um dos problemas de acessibilidade que abordaremos em tutoriais posteriores.
Este é o fim da discussão sobre o Oracle JAF nesta programação de estudo. Quando terminar de auditar seu aplicativo, lembre-se de excluir a pasta jaftmp@
e o arquivo oraclejafconfig.json
do diretório ACCLearningPath
.
Tarefa 3: Revisar a Estrutura da Página
A estrutura da página é o ponto de partida lógico para a inspeção visual de um aplicativo. Os cabeçalhos HTML fornecem uma descrição do conteúdo da página sem se concentrar em detalhes. Os leitores de tela fornecem atalhos para permitir que os usuários se movam rapidamente entre cabeçalhos marcados corretamente.
- O WCAG Success Criterion 1.3.1 Info and Relationships declara: "Informações, estrutura e relacionamentos transmitidos por meio de apresentação podem ser determinados de forma programática ou estão disponíveis em texto."
- Os Cabeçalhos e Labels do Critério de Sucesso 2.4.6 afirmam: "Cabeçalhos e rótulos descrevem o tópico ou a finalidade."
- O Cabeçalhos de Seção do Critério de Sucesso 2.4.10 declara: "Os cabeçalhos de seção são usados para organizar o conteúdo".
Use o aplicativo ACCLearningPath
para revisar a estrutura da página.
-
No aplicativo em execução, determine se as seções das páginas são identificadas por cabeçalhos.
O texto dos cabeçalhos é maior ou com estilo diferente do texto regular na página. Crie cabeçalhos HTML verdadeiros usando tags
<h1>
por meio de tags<h6>
. -
Determine se o texto de cada cabeçalho descreve adequadamente o conteúdo associado a ele.
Examine a guia Visão Geral da página Introdução. O terceiro painel mais à direita tem o cabeçalho Espaçamento de Texto. O conteúdo deste painel diz respeito ao ajuste do espaçamento de texto. Portanto, este cabeçalho é um exemplo de um cabeçalho adequadamente descritivo.
-
Use a guia Elementos do Chrome DevTools para determinar se os cabeçalhos são verdadeiros cabeçalhos HTML ou texto projetado para se assemelhar a eles.
-
Clique com o botão direito do mouse no cabeçalho A Página de Introdução e selecione Inspecionar no menu de contexto para exibir a estrutura do Modelo de Objeto de Documento (DOM) da página.
O elemento destacado na árvore DOM, exibido no painel DevTools Elementos, emprega o método correto de criação de um cabeçalho HTML.
<h4>The Introduction Page</h4>
-
Feche o DevTools e clique com o botão direito do mouse no cabeçalho A Página Recursos e selecione Inspecionar no menu de contexto.
O elemento destacado nesta árvore DOM é o texto estilizado para se parecer com um cabeçalho HTML.
<span class="h4Style">The Resources Page</span>
Um leitor de tela não detectará este código como um título. Os usuários de leitor de tela geralmente navegam em uma página por cabeçalhos, e o texto estilizado para se assemelhar a cabeçalhos é ignorado. Nas etapas a seguir, você corrigirá o cabeçalho codificado incorretamente. Deixe seu aplicativo em execução e o navegador aberto para observar como as alterações a seguir afetam o aplicativo.
-
-
Navegue até a pasta
ACCLearningPath/src/js/views
e abraoverview.html
no seu editor de código. -
Localize a tag
<span class="h4Style">
. -
Substitua a tag
<span class="h4Style">
por uma<h4>
. -
Substitua a tag
</span>
por uma</h4>
. -
Salve o arquivo e veja as alterações no seu aplicativo no navegador.
Tarefa 4: Revisar o Título da Página
Uma inspeção visual do aplicativo inclui uma avaliação da eficácia do título da página.
- A Página Titulada do Critério de Sucesso WCAG 2.4.2 declara: "As páginas Web têm títulos que descrevem tópicos ou propósitos."
- A Localização do Critério de Sucesso 2.4.8 declara: "As informações sobre a localização do usuário em um conjunto de páginas Web estão disponíveis."
Navegue pelo aplicativo inicial em execução e veja o título de cada página.
-
Determine se o título da página identifica claramente a página, a guia e o nome do aplicativo.
-
Determine se o título da página muda à medida que você navega entre as páginas ou entre as guias da página Introdução.
O título da página deve ser alterado para cada nova página ou guia exibida. Por exemplo, quando a opção Introdução é selecionada no menu principal no canto superior direito da página, o título precisa ler "Introdução" e, quando a opção Recursos é selecionada, o título deve ler "Recursos".
O título da página Introdução deve incluir a palavra "Introdução" e o nome da guia selecionada no momento. Quando você seleciona uma guia diferente na barra de guias, o título deve ser alterado para refletir a guia recém-selecionada.
- Introdução - Visão Geral
- Introdução - Organização
- Introdução - Funcionários
- Introdução - Departamentos
Da mesma forma, o título da página Recursos deve incluir a palavra "Recursos".
Você observará que o título da página não é alterado quando você navega entre páginas ou guias. Este problema será corrigido em um tutorial posterior.
Tarefa 5: Verificar Link Ignorar Navegação
Quando houver conteúdo repetido, como links de navegação e logotipos no cabeçalho da página de um aplicativo da Web, inclua um link para ignorar navegação. Os padrões do setor sugerem que o link para ignorar navegação deve ser ocultado até que seja acessado por tabulação.
- O Bloco de Bypass do Critério de Sucesso WCAG 2.4.1 declara: "Um mecanismo está disponível para ignorar blocos de conteúdo que são repetidos em várias páginas Web."
Teste a existência do link para ignorar navegação no aplicativo em execução no navegador.
-
No aplicativo, pressione
<Ctrl+L>
para mover o foco para a barra de endereços. -
Pressione
<Tab>
para fazer com que o link ignorar navegação apareça e receba foco.Como nenhum link para ignorar a navegação é exibido, o foco vai para o primeiro elemento focalizável na página: john.hancock@oracle.com no menu do usuário no canto superior direito da página. Elementos focalizáveis são definidos com mais detalhes no tutorial Acessibilidade Somente do Teclado.
Você determinou durante o teste que o aplicativo inicial não tem um link skip nav implementado.
Há três etapas para adicionar o link ignorar navegação:
- Adicione o link ao arquivo
index.html
. - Adicione uma classe de estilo ao arquivo
app.css
para ocultar o link para ignorar navegação até ser tabulado nele. - Adicione as âncoras de destino aos arquivos
intro.html
eresources.html
.
- Adicione o link ao arquivo
Atualizar o arquivo index.html
O arquivo index.html
define a estrutura abrangente do aplicativo Web do Oracle JET. O link para ignorar navegação precisa ser colocado nesta página.
-
Navegue até o diretório
ACCLearningPath/src
e abraindex.html
em um editor de código. -
Localize a tag
<body>
.<body class="oj-web-applayout-body"> <!-- Template for rendering navigation items shared between nav bar and nav list -->
-
Insira um link com seu destino como
#main
entre a tag<body>
e o comentário que a segue.<body class="oj-web-applayout-body"> <a class="hideSkipNav" href="#main">Skip to main content</a> <!-- Template for rendering navigation items shared between nav bar and nav list -->
A classe
hideSkipNav
fará com que o link fique invisível até que o usuário comece na parte superior da página e pressione<Tab>
. -
Salve e feche
index.html
. Seu arquivo deve ter uma aparência semelhante aindex-html.txt
.
Atualizar o arquivo app.css
Nós referenciamos a classe de estilo hideSkipNav
no arquivo index.html
. Agora precisamos defini-lo em app.css
. Todas as definições de estilo personalizadas estão localizadas neste arquivo.
-
Navegue até a pasta
ACCLearningPath/src/css
e editeapp.css
. -
Adicione a classe de estilo e as propriedades
.hideSkipNav
ao final do arquivo..hideSkipNav { position: absolute; left: -1000px; } .hideSkipNav:focus { position: unset; left: 0px; }
-
Salve e feche
app.css
. Seu arquivo deve ter aparência semelhante a app-css.txt.
Atualizar os Arquivos HTML das Páginas
Como o destino do link para ignorar a navegação deve estar na parte superior do conteúdo principal de cada página, adicione as tags de âncora de destino às páginas Introdução e Recurso.
-
Navegue até a pasta
ACCLearningPath/src/js/views
e edite o arquivointro.html
. -
Localize a
<div>
com a classeoj-hybrid-padding
.<div class="oj-hybrid-padding"> <div id="mainContainer">
-
Insira a tag de âncora e o cabeçalho
h2
entre as duas tags<div>
.<div class="oj-hybrid-padding"> <a id="main"> <h2>Introduction</h2> </a> <div id="mainContainer">
O código adicionado fornece não apenas o destino do link para ignorar navegação, mas também um cabeçalho
h2
para melhorar a estrutura da página. -
Salve e feche
intro.html
. Seu arquivo deve ter uma aparência semelhante a intro-html.txt. -
Abra
resources.html
no seu editor de código e localize o<div>
com a classeoj-hybrid-padding
.<div class="oj-hybrid-padding"> <ul>
-
Insira a tag de âncora e o cabeçalho
h2
entre as tags<div>
e<ul>
.<div class="oj-hybrid-padding"> <a id="main"> <h2>Resources</h2> </a> <ul>
-
Salve e feche
resources.html
. Seu arquivo deve ter aparência semelhante a recursos-html.txt. -
No aplicativo em execução, pressione
<Ctrl+L>
para mover o foco para a barra de endereços. -
Pressione
<Tab>
para fazer com que o link ignorar navegação apareça e receba foco. -
Pressione
<Enter>
para ativar o link para ignorar navegação.O foco é então movido para o conteúdo principal da página.
Depois de testar a funcionalidade do link ignorar navegação, passe para o próximo elemento da inspeção visual.
Tarefa 6: Verificar o Uso de Cor e Posição
Os botões são parte integrante das direções que movem um usuário de uma página ou ação para a próxima. Os desenvolvedores aprimoram a aparência e a funcionalidade de uma página com o uso de botões coloridos. "Pressione o botão verde para continuar" é uma instrução comum. No entanto, sem rotulagem adequada, os usuários com deficiência visual não podem seguir essas instruções e instruções semelhantes.
- O WCAG Success Criterion 1.3.3 Sensory Characteristics declara: "As instruções fornecidas para entender e operar o conteúdo não dependem exclusivamente das características sensoriais dos componentes, como forma, cor, tamanho, localização visual, orientação ou som".
- Critério de Sucesso 1.4.1 Uso de Cor declara: "A cor não é usada como o único meio visual de transmitir informações, indicar uma ação, solicitar uma resposta ou distinguir um elemento visual."
O painel central da página Visão geral contém uma barra de ferramentas com três botões coloridos, bem como algumas instruções para pressionar botões com base em sua cor e posição. Um usuário cego ou daltônico não consegue distinguir entre os botões porque eles não têm rótulos ou outros recursos distintivos. Este conjunto de botões falha nos Critérios de êxito 1.3.3 e 1.4.1.
Cada um dos botões coloridos no painel central deve ter um rótulo de texto associado a ele. As alterações a seguir adicionarão nomes de cores como rótulos aos botões.
-
Navegue até a pasta
ACCLearningPath/src/js/views
e edite o arquivooverview.html
. -
Localize o conjunto de três elementos
oj-button
.<oj-button id="chat" class="demo-button-green button-set-width" chroming="solid" on-oj-action="[[greenActivated]]"> </oj-button> <oj-button id="paint" class="demo-button-red button-set-width" chroming="solid" on-oj-action="[[redActivated]]"> </oj-button> <oj-button id="bookmark" class="demo-button-purple button-set-width" chroming="solid" on-oj-action="[[purpleActivated]]"> </oj-button>
-
Modifique os botões no código para criar os identificadores de cor.
<oj-button id="chat" class="demo-button-green button-set-width" chroming="solid" on-oj-action="[[greenActivated]]">Green </oj-button> <oj-button id="paint" class="demo-button-red button-set-width" chroming="solid" on-oj-action="[[redActivated]]">Red </oj-button> <oj-button id="bookmark" class="demo-button-purple button-set-width" chroming="solid" on-oj-action="[[purpleActivated]]">Purple </oj-button>
-
Salve
overview.html
e verifique se os botões agora têm labels de texto apropriados.Seu arquivo deve ter uma aparência semelhante a overview-html.txt.
Tarefa 7: Verificar Legibilidade
A fase final da inspeção visual é específica para usuários com baixa visão. Determine se ajustar a linha, a palavra e o espaçamento de caracteres ou alterar o nível de zoom da página aumenta ou diminui a legibilidade.
- O texto de Redimensionamento do Critério de Sucesso WCAG 1.4.4 afirma: "Exceto para legendas e imagens de texto, o texto pode ser redimensionado sem tecnologia assistiva até 200% sem perda de conteúdo ou funcionalidade."
- O Espaço de Texto do Critério de Sucesso 1.4.12 declara: "No conteúdo implementado usando linguagens de marcação que suportam as seguintes propriedades de estilo de texto, nenhuma perda de conteúdo ou funcionalidade ocorre definindo todas as seguintes opções e não alterando nenhuma outra propriedade de estilo:
- Altura da linha (espaço da linha) para pelo menos 1,5 vezes o tamanho da fonte.
- Espaçamento dos parágrafos seguintes para pelo menos 2 vezes o tamanho da fonte.
- Espaçamento entre letras (rastreamento) até pelo menos 0,12 vezes o tamanho da fonte.
- Espaçamento de palavras para pelo menos 0,16 vezes o tamanho da fonte.
Usaremos a página Visão Geral para ilustrar esses critérios e verificar o espaçamento de texto e ampliar o aplicativo.
-
No aplicativo em execução, examine o painel mais à direita da página, intitulado Espaçamento de Texto. O painel contém duas seções. Compare o texto em ambas as seções para garantir que todo o texto esteja presente.
A parte superior do painel tem texto com espaçamento normal. A parte inferior contém o mesmo texto com maior espaçamento entre caracteres, palavras e linhas.
Se nenhum dos caracteres da seção inferior estiver distorcido, cortado ou sobreposto, a página atenderá ao Critério de Sucesso 1.4.12.
-
Aumentar o nível de zoom do navegador para 200%. Clique no ícone de zoom da lupa na barra de ferramentas e, em seguida, clique no sinal de + para aumentar o zoom.
Se todo o texto for legível e o texto for encapsulado corretamente dentro de cada painel, a página atenderá ao Critério de Sucesso 1.4.4 com uma ampliação de 200%.
- Refluxo do Critério de Sucesso 1.4.10 afirma: "O conteúdo pode ser apresentado sem perda de informações ou funcionalidade e sem exigir rolagem em duas dimensões para:
- Conteúdo de rolagem vertical em uma largura equivalente a 320 pixels em CSS;
- Conteúdo de rolagem horizontal em uma altura equivalente a 256 pixels em CSS. Exceto para partes do conteúdo que exigem layout bidimensional para uso ou significado.
A página deve ser reformatada para exigir rolagem em apenas uma direção. Uma página é rolada horizontal ou verticalmente, mas não em ambas as direções. O Critério de Sucesso 1.4.10 facilita a utilização das páginas.
- Refluxo do Critério de Sucesso 1.4.10 afirma: "O conteúdo pode ser apresentado sem perda de informações ou funcionalidade e sem exigir rolagem em duas dimensões para:
-
Aumentar o zoom para 400%.
-
Examine a página quanto à aparência das barras de rolagem. Se aparecerem barras de rolagem horizontais e verticais, a página falhará nesse critério.
A fase de teste inicial está concluída.
Próxima Etapa
Prossiga para o próximo tutorial neste módulo.
Este tutorial faz parte do módulo Identificar Problemas de Acessibilidade.
- Testar um Aplicativo Oracle JET para Acessibilidade: Inspeção Visual
- Testar um Aplicativo Oracle JET para Acessibilidade Somente para Teclado
- Executar Validação de Screen-Reader em um Aplicativo Oracle JET
Você pode retornar à página principal da programação de estudo de acessibilidade para acessar todos os módulos na acessibilidade.
Mais Recursos de Aprendizado
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Test an Oracle JET app for accessibility - visual inspection
F71550-02