O modo quiosque do ChromeOS executa um aplicativo e o bloqueia em tela cheia, sem a necessidade de um login do usuário. O modo quiosque oferece uma maneira conveniente e eficiente para as pessoas acessarem informações e serviços de forma controlada e focada. No entanto, como a experiência do modo quiosque é muito controlada, é importante garantir que os apps desse modo sejam acessíveis a todos. Melhorar a acessibilidade dos quiosques pode ajudar a ampliar o alcance, reduzindo as barreiras ao acesso às informações e melhorando a satisfação do cliente ao promover a inclusão.
Os apps executados no modo quiosque são apps da Web. Portanto, as práticas recomendadas de acessibilidade da Web se aplicam a eles:
- Siga as Diretrizes de Acessibilidade para Conteúdo Web (WCAG 2). Mesmo ao implantar apps de quiosque internamente, a melhor maneira de garantir a acessibilidade, como a usabilidade do leitor de tela, é seguir a WCAG 2. Você também pode usar outros recursos de design e desenvolvimento de quem trabalha com acessibilidade para melhorar seu app de quiosque:
- O governo do Reino Unido oferece orientações gerais sobre o que fazer e o que não fazer ao criar para usuários com necessidades de acessibilidade, incluindo pessoas com baixa visão e com deficiência auditiva.
- O site web.dev oferece informações sobre o que significa acessibilidade no desenvolvimento da Web e por que ela é importante.
- O Material Design compartilha recomendações de acessibilidade no design.
- Ofereça vários métodos de entrada. Não confie na navegação baseada em gestos. Os usuários podem precisar de um teclado, mouse ou interruptor para interagir com o app.
- Ofereça várias formas de saída. Não confie em um único tipo de saída, como áudio. Os usuários podem precisar interagir com um app sem som ou sem pistas visuais.
- Teste o app e o hardware dele com um público diversificado. Não confie apenas em seguir as práticas recomendadas: teste-as. Os usuários precisam interagir física e digitalmente com um app de quiosque. Os testes de experiência identificam áreas de melhoria.
- Inclua um grupo diversificado de usuários de teste para revelar possíveis problemas de acessibilidade.
- Teste o app de quiosque no ambiente e no hardware em que ele será usado.
Como os apps de quiosque são executados em um ambiente controlado, os usuários talvez não consigam acessar os recursos de acessibilidade do ChromeOS ou as opções de hardware que normalmente usariam. Quando se trata da acessibilidade do quiosque do ChromeOS, há três níveis de controle a serem considerados:
- Políticas:os administradores controlam as políticas dos dispositivos gerenciados, incluindo o acesso às configurações de acessibilidade do kiosk essenciais.
- APIs:os desenvolvedores podem controlar como o usuário interage com o app do quiosque usando uma extensão complementar que chama a API chrome.accessibilityFeatures.
- Dispositivos de hardware:o tipo de dispositivo e os periféricos conectados controlam como o usuário interage fisicamente com o quiosque, incluindo dispositivos de entrada, tamanhos de tela e plataformas.
Esses níveis são muito interdependentes e, portanto, precisam operar em conjunto para oferecer uma experiência de app de quiosque verdadeiramente acessível. Os administradores precisam considerar a acessibilidade ao implantar apps de quiosque, e os desenvolvedores precisam estar cientes do impacto que as configurações administrativas podem ter no app depois da implantação.
Controles de políticas para administradores de quiosques
Em um dispositivo ChromeOS em uma sessão de usuário normal, os usuários podem gerenciar as configurações de acessibilidade na seção Acessibilidade do app Configurações. No modo quiosque, os usuários não têm acesso ao app Configurações por padrão. Em vez disso, os administradores precisam ativar as configurações de acessibilidade para permitir que os usuários acessem esses recursos no modo quiosque.
Os administradores podem encontrar as configurações de "Acessibilidade do quiosque" no Google Admin Console em Dispositivos > Chrome > Configurações > guia Configurações do dispositivo.
Há duas configurações principais a serem observadas:
- Menu flutuante de acessibilidade do quiosque: como o app Configurações não está disponível no modo quiosque, ao ativar essa opção, os usuários podem alternar as configurações de acessibilidade usando um menu flutuante de acessibilidade. O comportamento padrão quando essa configuração não está definida é que o menu de acessibilidade flutuante não aparece.
- Atalhos de acessibilidade em quiosques: ao ativar essa opção, os usuários podem ativar recursos de acessibilidade usando atalhos de teclado. No entanto, nem todos os recursos têm um atalho correspondente. O comportamento padrão quando essa configuração não está definida é que os atalhos ficam ativados.
Também é possível configurar os recursos de acessibilidade individualmente. Por padrão, eles são configurados como "Permitir que o usuário decida", deixando a critério do usuário ativar ou desativar os recursos de acessibilidade conforme achar melhor.
Observação:confira a lista completa de recursos de acessibilidade do ChromeOS para saber mais sobre o comportamento de cada configuração.
API chrome.accessibilityFeatures da extensão do Chrome
No modo quiosque, os usuários podem ativar e desativar os recursos de acessibilidade usando o menu flutuante de acessibilidade do quiosque ou os atalhos de teclado correspondentes. Mas isso depende de o administrador ter ativado o menu, e nem todos os recursos têm um atalho. Portanto, um desenvolvedor precisa integrar as configurações de acessibilidade diretamente ao app de quiosque, quando apropriado. Por exemplo, oferecendo aos usuários a opção de usar a transcrição por voz quando a entrada de texto é mostrada.
O estado dos recursos de acessibilidade do ChromeOS pode ser acessado pela chrome.accessibilityFeatures API. Quando configurados como "Permitir que o usuário decida" no Admin Console, os recursos de acessibilidade também podem ser controlados por essa API. Essa é uma API de extensão do Chrome. Portanto, ela precisa ser chamada de uma extensão complementar que é executada com um app de quiosque. Os desenvolvedores podem usar essa API para verificar se cada configuração é controlável e interagir com as respectivas funções de acessibilidade integradas do ChromeOS.
A API chrome.accessibilityFeatures tem uma propriedade correspondente para cada recurso de acessibilidade. Cada propriedade é um type.ChromeSetting protótipo com os seguintes métodos:
get(): para receber o valor da configuração.set(): para definir o valor da configuração.onChange(): para adicionar um listener quando a configuração mudar.clear(): para limpar a configuração e restaurar os valores padrão.
Para conferir o status de uma propriedade, chame onChange() ou get(), que retorna um objeto de detalhes por um callback com os seguintes campos relevantes:
levelOfControl: o nível de controle da configuração. Verifique se a configuração pode ser controlada pela extensão antes de chamarset()para mudar o valor dela. Se o administrador tiver uma política explícita para desativar ou ativar uma configuração, olevelOfControlseránot_controllable, e não será possível configurá-lo com a API.value: o valor da configuração. Todas as propriedades de recursos de acessibilidade são do tipo booleano, excetoanimationPolicy, que é uma enumeração que consiste emallowed,onceounone.
Por exemplo, vamos ativar e desativar o recurso de teclado virtual. Primeiro, verifique se a propriedade pode ser configurada por essa extensão.
const virtualKeyboard = chrome.accessibilityFeatures.virtualKeyboard; virtualKeyboard.get({}, (details) => { // check the level of control for virtual keyboard if (details.levelOfControl == 'controllable_by_this_extension' || details.levelOfControl == 'controlled_by_this_extension') { // disable if virtualKeyboard is currently on if (details.value) { virtualKeyboard.set({value: false}, () => console.log('Virtual keyboard has been disabled'); } else { // enable if virtualKeyboard is currently off virtualKeyboard.set({value: true}, () => console.log('Virtual keyboard has been enabled'); } } else { // the setting is not controllable by this extension because it cannot be controlled by any extension or it's being controlled by an extension with higher precedence console.log('Virtual keyboard setting cannot be changed.'); }
Primeiro, chame get() na propriedade virtualKeyboard para ler o nível de controle disponível e o valor atual da propriedade. Se ele puder ser controlado por essa extensão ou já estiver sendo controlado por ela, será seguro chamar set() e alternar o valor da propriedade virtualKeyboard. Se a propriedade não puder ser controlada, informe ao usuário que essa configuração não pode ser ativada/desativada e recomende que ele entre em contato com o administrador do sistema, se for o caso.
As propriedades disponíveis que podem ser configuradas com a API chrome.accessibilityFeatures são agrupadas nas seguintes categorias: conversão de texto em voz, tela e ampliação, teclado e entrada de texto, cursor e touchpad.
Conversão de texto em voz
Com os recursos de conversão de texto em voz, o texto na tela pode ser lido em voz alta com o leitor de tela integrado do ChromeOS. Se um usuário tem deficiência visual, não consegue ler ou prefere ouvir um texto em vez de ler, esses recursos permitem que ele interaja com o dispositivo.
selectToSpeak: controla o recurso "Selecionar para ouvir", que permite aos usuários selecionar um texto na tela para ser lido em voz alta.spokenFeedback: controla o recurso ChromeVox, um leitor de tela que lê em voz alta o texto na tela e os nomes de botões, links e outros elementos.
Tela e ampliação
Os recursos de exibição e ampliação mudam as cores da tela e oferecem opções de ampliação, facilitando a leitura e a localização de objetos.
highContrast: controla o recurso de inversão de cores, que muda o esquema de cores para um com contraste aumentado.screenMagnifier: controla o recurso de lupa de tela cheia, que aumenta o zoom para ampliar os itens na tela.dockedMagnifier: controla o recurso de lupa em área fixa, que amplia as áreas focadas da tela em uma visualização de tela dividida.
Teclado e entrada de texto
Os recursos de teclado e entrada de texto oferecem aos usuários diferentes opções para interagir com o conteúdo e inserir itens na tela.
virtualKeyboard: essa propriedade controla o recurso de teclado na tela, que permite aos usuários digitar sem usar um teclado físico.dictation: essa propriedade controla o recurso de ditado, que permite aos usuários digitar texto falando em um microfone e controlando a entrada com a voz.switchAccess: essa propriedade controla o recurso de acesso com interruptor, que permite aos usuários controlar o dispositivo com interruptores (teclas do teclado, botões do gamepad e outros dispositivos de interruptor dedicados).stickyKeys: essa propriedade controla o recurso de teclas de aderência, que permite aos usuários pressionar uma tecla de cada vez para usar atalhos do teclado, em vez de manter várias teclas pressionadas ao mesmo tempo.focusHighlight: essa propriedade controla o recurso de destaque do foco do teclado, que destaca o objeto em foco. Os usuários navegam pelos objetos usando a tecla Tab ou selecionando com o cursor do mouse.caretHighlight: essa propriedade controla o recurso de destaque do cursor de texto, que mostra um anel de foco ao redor do cursor quando ele aparece ou se move.
Cursor
Os recursos de cursor personalizam o cursor, facilitando a localização na tela e o uso.
autoclick: essa propriedade controla o recurso de cliques automáticos, que permite que o cursor do mouse clique automaticamente no ponto onde para.largeCursor: essa propriedade controla o recurso de cursor grande, que aumenta o tamanho do cursor do mouse para ficar mais visível.cursorColor: essa propriedade controla o recurso de cor do cursor. O valor da propriedadecursorColorindica apenas se o recurso está ativado ou não. Ela não indica a cor do cursor.cursorHighlight: essa propriedade controla o recurso de destaque do cursor, que mostra um anel de foco ao redor do cursor do mouse quando ele está se movendo.
Acessibilidade em quiosques no nível do hardware
Assim como outros apps, a acessibilidade de um app de quiosque também é afetada pelo dispositivo em que ele é implantado. Os desenvolvedores também precisam trabalhar com a equipe de hardware para garantir que o app de quiosque seja acessível no nível do hardware.
Os apps de quiosque podem ser instalados em qualquer sistema ChromeOS, desde telas não interativas até plataformas interativas. Sempre que um usuário interage com um app de quiosque, é recomendável seguir alguns padrões de acessibilidade no nível do hardware:
- Os apps de quiosque precisam ser acessíveis para pessoas que usam cadeiras de rodas ou outros meios de ajuda para locomoção.
- O hardware do quiosque precisa incluir a opção de um teclado físico e um mouse.
- Os apps de quiosque precisam ter uma entrada para fone de ouvido e suporte a microfone.
- O hardware do quiosque precisa ter uma tela de tamanho e resolução suficientes para garantir que o texto e as imagens estejam claros e visíveis.
A acessibilidade do quiosque depende de muitas coisas: controles de política, APIs e hardware. Mas, na essência, a acessibilidade do quiosque é a acessibilidade da Web. Para melhorar a acessibilidade no app de quiosque, siga as recomendações e práticas recomendadas acima, faça testes completos com usuários e revise as diretrizes da WCAG 2.