Não conseguir alcançar o rodapé devido à rolagem infinita é uma falha de Acessibilidade

Li outro tópico fechado sobre o fato de que um usuário não consegue acessar o rodapé devido ao recurso de rolagem infinita. O problema não foi resolvido. Foram levantadas preocupações sobre ser um problema de UX — o que certamente é. Mas isso foi trazido à minha atenção porque se trata de um problema de Acessibilidade.

O problema:
Embora o usuário esteja fornecendo entrada, ou seja, rolando, ele não está necessariamente tentando ativar a rolagem infinita; a intenção pode ser alcançar o rodapé para obter informações adicionais ou suporte.

Qualquer comunidade que use essa configuração não passará no nível A das WCAG 2.1.

O nível A é considerado o nível mais básico e essencial de acessibilidade web.

Estou auditando uma comunidade e classificaria esse problema como uma falha nos critérios de sucesso:

2.2.2 Pausar, Parar, Ocultar (Nível A) Crítico
Para qualquer informação que se atualize automaticamente e (1) inicie automaticamente e (2) seja apresentada em paralelo com outro conteúdo, deve haver um mecanismo para que o usuário pause, pare, oculte ou controle a frequência da atualização, a menos que a atualização automática faça parte de uma atividade em que seja essencial.

3.2.5 Mudança sob Solicitação (Nível AAA) Grave
Mudanças de contexto são iniciadas apenas por solicitação do usuário ou há um mecanismo disponível para desativar tais mudanças.

A solução:

  • Adicionar um botão “carregar mais posts” ao feed para devolver o controle aos usuários.
  • Permitir que os usuários escolham quantos posts visualizar de cada vez, para que aqueles que buscam uma experiência mais infinita possam fazê-lo.

Não é realmente aceitável dizer “se você não gosta dessa configuração, escolha outra” — essa pode ser facilmente tornada mais usável e deveria ser. É um requisito moral e legal para muitos de nossos clientes.

Espero que isso ajude a fundamentar a necessidade das mudanças requeridas.

A qual rodapé vocês estão se referindo?

O Discourse, na configuração padrão, não possui nenhum rodapé, como você pode ver em páginas como Categories - Discourse Meta.

Essa é uma decisão de design consciente, pois adicionar um rodapé em um site com rolagem infinita tornaria o acesso impossível.

Obrigado pela resposta rápida.

Certo, então atualmente combinar um feed infinito e um rodapé cria uma solução inacessível.

Mas isso não precisa ser a resposta. Os controles poderiam ser colocados no feed para dar ao usuário a escolha entre carregar mais postagens ou acessar o rodapé. Há alguma possibilidade para isso?

Um rodapé é um padrão web muito comum. Criar experiências web consistentes e reconhecíveis é um princípio fundamental para desenvolver experiências usáveis e compreensíveis.

Os rodapés suportam os Critérios de Sucesso (CS): 2.4.5 Múltiplas Formas (AA)

  • Mais de uma forma está disponível para localizar uma página da Web dentro de um conjunto de páginas da Web, exceto quando a página da Web é o resultado de, ou um passo em, um processo.

Não desativar rodapés em páginas específicas apoia o CS 3.2.3 Navegação Consistente (AA)

  • Mecanismos de navegação que são repetidos em várias páginas da Web dentro de um conjunto de páginas da Web ocorrem na mesma ordem relativa a cada vez que são repetidos, a menos que uma alteração seja iniciada pelo usuário.

É a posição do Discourse que, se você escolher essa combinação, o problema é seu?
Você sabe se alguma orientação sobre isso é fornecida em algum lugar da documentação que afirma este fato: “adicionar um rodapé em um site com rolagem infinita o tornaria inacessível”?

Estou em uma situação delicada. Vou ter que sugerir redesenhos para algumas grandes comunidades que estamos gerenciando. Portanto, estou apenas tentando entender o quadro completo desse problema.

Não estou familiarizado com estudos existentes sobre essa área, mas é um fato bem conhecido que você não deve colocar um rodapé em seu site com rolagem infinita. Há muitos exemplos populares aqui: Facebook, Twitter, LinkedIn, Instagram, Gmail, etc. Nenhum deles possui rodapés, e toda a funcionalidade do aplicativo web está disponível, sendo usada por bilhões de pessoas.

Isso não está em nosso roteiro, e não tenho conhecimento de que algum de nossos clientes pagantes existentes tenha solicitado algo assim.

Então, se entendi corretamente toda a história, seu problema é que:

  • Seu site principal de propriedade tem um rodapé
  • Você quer que seu site principal e sua instância do Discourse tenham aparência semelhante
  • O Discourse não terá um rodapé proeminente em algumas páginas, pois elas usam rolagem infinita que faz o rodapé desaparecer
  • Você não quer ter o rodapé apenas em algumas páginas

Entendo que é uma situação complicada, mas sendo estoico sobre isso, você tem apenas duas opções se quiser usar o Discourse:

  1. Coloque o rodapé.
    Use uma página sem rolagem infinita como página inicial, como Categories - Discourse Meta, para que ela seja destacada e não se preocupe com o fato de estar fora de alcance na rota /latest.

  2. Não coloque o rodapé.
    Nossa página discourse.org tem um rodapé, assim como nosso blog. Mas não temos o mesmo rodapé aqui. Muitas empresas fazem o mesmo, e fazer o oposto pode ser apenas tentar encaixar uma chave quadrada em um buraco redondo.

Estou representando uma seleção de seus clientes pagantes existentes. Além disso, como mencionei em minha postagem inicial, há outros tópicos discutindo essa combinação e preocupação que foram descartados de maneira semelhante à sua resposta recente.

Não é um problema pessoal meu. É uma falha de acessibilidade que muitas comunidades estão enfrentando. Eu esperava que a equipe estivesse disposta a corrigir isso.

Continuaremos a usar o Discourse e vamos considerar criar algumas de nossas próprias soluções personalizadas, já que isso está muito distante do seu roteiro.

Você acha que talvez esteja procurando no lugar errado, já que não há rodapé?

Talvez você pudesse adicionar um texto no topo da página explicando que se trata de uma página com rolagem infinita e sem rodapé.

Arriscando ser um pouco parcial, não acho que seja totalmente justo classificar o Discourse como uma página web.

Ele é um aplicativo web e, como tal, borra a linha entre páginas web e aplicativos.

Se eu o abordar como um aplicativo, isso certamente muda as coisas significativamente?

Abra-o como um PWA e ele se comporta de forma bastante convincente como um aplicativo.

Se eu abrir o Mail do iOS, onde está o rodapé?

(Ok, ok, há alguns controles básicos em um painel flutuante na parte inferior, mas isso também é verdade para o Discourse no modo hub)

A Apple está sendo criticada por não ter um?

E o Gmail?

Como pode ser aceitável que o Gmail e o Mail tenham rolagem infinita para e-mails, mas de alguma forma não seja aceitável quando se trata de Listas de Tópicos? Eles não são semanticamente muito semelhantes?

Os usuários ficariam encantados se os desenvolvedores do Gmail ou do Mail do iOS introduzissem um botão para mais e-mails?

Por que seus especialistas em acessibilidade concluíram que a rolagem infinita é aceitável para esses dois aplicativos?

Então, essas diretrizes são realmente aplicáveis neste caso?

O fórum em https://thepavilion.io/ possui um rodapé extra que você pode usar como inspiração. Ele funciona bem no Safari para iOS e menos bem (ou pelo menos de forma diferente) no aplicativo Discourse para iOS.