AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / Perguntas / 79288686
Accepted
Green Grasso Holm
Green Grasso Holm
Asked: 2024-12-18 00:35:43 +0800 CST2024-12-18 00:35:43 +0800 CST 2024-12-18 00:35:43 +0800 CST

Perguntas de acessibilidade para uma contagem regressiva de tempo limite de sessão

  • 772

Em direção ao canto superior direito da janela do navegador, um aplicativo exibe a mensagem "Sua sessão expirará em NN minutos". Essa mensagem muda uma vez por minuto enquanto não há atividade. Quando falta menos de um minuto, ela muda para "NN segundos" e, naturalmente, muda uma vez por segundo. Quando as interações do usuário enviam uma nova solicitação ao servidor, NN é redefinido para 30.

Os usuários de leitores de tela querem um alerta sonoro toda vez que isso muda (a) a cada minuto, (b) a cada segundo, (c) na redefinição para 30? Não sei onde fica a preferência geral entre "preciso saber quanto tempo me resta antes de perder minha sessão" e "isso é realmente uma distração".

O WCAG 2.2.2 fornece "Para qualquer informação de atualização automática que (1) inicia automaticamente e (2) é apresentada em paralelo com outro conteúdo, há um mecanismo para o usuário pausar, parar ou ocultá-la ou controlar a frequência da atualização, a menos que a atualização automática faça parte de uma atividade em que seja essencial." Isso parece mais voltado para atualizações imprevisíveis, como quando uma nova entrada aparece em um fluxo de notícias ao vivo em uma barra lateral que é tangencial ao uso da página pelo usuário do que em um cronômetro, onde o ponto principal é que o usuário precisa de uma indicação atualizada de quanto tempo resta. Essa disposição é aplicável aqui? Acho que se dermos a um usuário de leitor de tela os meios para pará-lo, isso resolveria minha primeira pergunta acima. De qualquer forma, não tenho certeza se isso é mais útil para um usuário visual do que um desperdício de espaço na tela. O que você acha?

accessibility
  • 1 1 respostas
  • 28 Views

1 respostas

  • Voted
  1. Best Answer
    Roland McLeod
    2024-12-18T06:03:08+08:002024-12-18T06:03:08+08:00

    Não acho que o SC 2.2.2 se aplique aqui. Há uma exceção para informações "essenciais", e saber quando sua sessão irá expirar se enquadraria nessa exceção. O SC que realmente se aplica aqui é o 4.1.3 Mensagens de Status, que requer que a mensagem seja implementada de uma forma que possa ser captada por leitores de tela automaticamente conforme ela muda (geralmente por meio de uma região ARIA ao vivo).

    Quanto à frequência com que anunciar essas mudanças, vai depender do contexto e dos seus usuários. Para algo assim, você pode começar com uma longa pausa entre os anúncios e, em seguida, diminuir gradualmente a pausa conforme a sessão se aproxima do fim. Por exemplo, force um anúncio apenas em 25, 20, 15 e 10 minutos. Então, quando chegar a 5 minutos, force um anúncio em 5, 4, 3, 2 e 1 minuto. Abaixo de 1 minuto, talvez force um anúncio em 30 segundos e 10 segundos. Eu provavelmente forçaria um anúncio toda vez que o cronômetro fosse redefinido para 30 minutos, desde que isso não acontecesse com tanta frequência a ponto de ser irritante.

    Para fazer isso corretamente, você provavelmente vai querer ter uma região ARIA ao vivo visualmente oculta para onde você pode enviar essas mensagens periódicas (e então você vai querer remover a mensagem da região ao vivo após 5-10 segundos para que usuários de leitores de tela não tropecem nela acidentalmente). A mensagem visual que está constantemente mudando não seria uma região ao vivo.

    Resumindo, não há uma resposta certa. A frequência com que você força um anúncio para usuários de leitores de tela vai depender do aplicativo e de seus usuários. Mas acho que uma aposta segura é errar do lado de menos anúncios, especialmente quando a expiração está longe. Usuários de leitores de tela também podem verificar manualmente o tempo restante. Pode ser uma boa ideia criar um marco de região para a mensagem de expiração ou dar a ela um título, para que os usuários de leitores de tela possam navegar até ela rapidamente, se necessário.

    • 1

relate perguntas

  • O leitor de tela não lê o cabeçalho inteiro da coluna da tabela HTML ao navegar pelas linhas de dados

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Por que esse código Java simples e pequeno roda 30x mais rápido em todas as JVMs Graal, mas não em nenhuma JVM Oracle?

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Quando devo usar um std::inplace_vector em vez de um std::vector?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Marko Smith

    Estou tentando fazer o jogo pacman usando apenas o módulo Turtle Random e Math

    • 1 respostas
  • Martin Hope
    Aleksandr Dubinsky Por que a correspondência de padrões com o switch no InetAddress falha com 'não cobre todos os valores de entrada possíveis'? 2024-12-23 06:56:21 +0800 CST
  • Martin Hope
    Phillip Borge Por que esse código Java simples e pequeno roda 30x mais rápido em todas as JVMs Graal, mas não em nenhuma JVM Oracle? 2024-12-12 20:46:46 +0800 CST
  • Martin Hope
    Oodini Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores? 2024-12-12 06:27:11 +0800 CST
  • Martin Hope
    sleeptightAnsiC `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso? 2024-11-09 07:18:53 +0800 CST
  • Martin Hope
    The Mad Gamer Quando devo usar um std::inplace_vector em vez de um std::vector? 2024-10-29 23:01:00 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST
  • Martin Hope
    MarkB Por que o GCC gera código que executa condicionalmente uma implementação SIMD? 2024-02-17 06:17:14 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve