As barras de rolagem estão se tornando um problema
(artemis.sh)- À medida que as barras de rolagem ficam cada vez menores ou ocultas, isso se torna um problema real de usabilidade não só para quem tem dificuldade em usar roda de rolagem ou gestos de toque, mas também para quem quer se mover rapidamente dentro de um documento
- Usuários com dificuldade de controle motor fino ou que usam dispositivos de apontamento com precisão limitada, como rastreadores oculares, têm dificuldade para acertar barras de rolagem com 8 pixels de largura, e usuários de controle por voz também podem preferir clicar diretamente no ponto desejado em vez de repetir a rolagem
- Em GTK, Qt, Firefox, Chrome e Electron, mesmo quando é possível ajustar a largura ou a forma de exibição da barra de rolagem, isso depende de métodos de difícil acesso para usuários comuns, como editar CSS,
gsettings,about:config, recompilar temas ou configurações por aplicativo - Antigamente existiam botões de rolagem que moviam o conteúdo aos poucos enquanto eram pressionados, mas eles desapareceram discretamente, e as teclas de seta só substituem parte dessa função porque seu comportamento muda conforme o estado de foco
- UIs como minimapas de documento, que permitem ver o conteúdo e navegar com uma área de clique maior, podem se tornar uma forma alternativa de navegação útil também para usuários de rastreador ocular e caneta de tablet
Barras de rolagem menores e ocultas
- A barra de rolagem é um elemento básico de UI que permite clicar e arrastar para mudar a posição atual dentro de uma área rolável
- Recentemente, as barras de rolagem ficaram tão pequenas que é difícil até mostrá-las em capturas de tela, e a tendência de torná-las ainda menores ou escondê-las prejudica a usabilidade
- A ideia de que “basta usar a roda de rolagem” parte do pressuposto de que todos os usuários conseguem usar uma roda de rolagem ou deslizar em uma tela sensível ao toque
- Mesmo usuários que usam bem a roda de rolagem às vezes podem querer saltar rapidamente para uma posição específica
Impacto na acessibilidade
- Usuários com dificuldades de controle motor fino têm dificuldade para agarrar com precisão barras de rolagem finas
- Dispositivos de apontamento como rastreadores oculares são impressionantes, mas não são suficientes para acertar de forma estável uma barra de rolagem com 8 pixels de largura
- Usuários que controlam o computador por voz ou som, mesmo usando ferramentas como Talon Voice, podem preferir olhar para a posição desejada na barra de rolagem e clicar ali em vez de repetir
scroll downou usar rolagem automática - Já em 2015, o problema da largura das barras de rolagem no GTK3 foi discutido, e barras finas sobrecarregam usuários não técnicos e pessoas com limitações manuais ou visuais
Como as barras de rolagem ficaram menos fáceis de usar
- Em alguns casos, a largura da barra de rolagem continua a mesma em pixels, mas o aumento da resolução dos monitores faz com que o alvo real de interação fique menor
- Em outros casos, a própria barra de rolagem realmente ficou menor
- Também é citado o caso das barras de rolagem extremamente finas que o Ubuntu tentou no passado
- Enquanto as barras de rolagem encolhiam, os botões de rolagem que moviam aos poucos enquanto pressionados também desapareceram
- As teclas de seta substituem parte dessa função, mas dependem de qual conteúdo está com foco no momento
- Os botões podiam ser usados independentemente do estado de foco
- Em geral, as barras de rolagem ficaram menos utilizáveis, e as configurações de usuário para corrigir isso não existem ou estão escondidas em camadas técnicas difíceis de encontrar para usuários comuns
A barreira das configurações do GTK
- No GTK2, era possível alterar diretamente a largura da barra de rolagem no
gtkrc, e até existiam programas com GUI para isso - No GTK3, é preciso ajustar via CSS e, sem entender temas, faltam formas amigáveis de fazer essa configuração
- Em uma thread no Reddit, foi apresentado um script que adiciona
slider { min-width: ...; min-height: ...; }aogtk.cssdo GTK3 e GTK4, além de lidar com overrides do Flatpak e a configuração de overlay scrolling - Aplicativos Flatpak exigem overrides separados, então o tema do sistema pode não ser aplicado como está
- O GTK também usa por padrão um modo em que a barra de rolagem fica oculta e só aparece quando o mouse passa sobre aquela área
- No GTK3, é possível deixá-la sempre visível com o comando abaixo
gsettings set org.gnome.desktop.interface overlay-scrolling false - Também é possível encontrar isso no Dconf Editor, mas é preciso saber onde procurar
- No GTK3, é possível deixá-la sempre visível com o comando abaixo
- Para o GTK4, é citada uma thread no GNOME Bugzilla dizendo que essa configuração não pode ser definida globalmente
- Na discussão, o problema é que seria necessário pedir a cada aplicativo uma opção de barra de rolagem sem overlay
A barreira das configurações do Qt
- A largura da barra de rolagem no Qt é determinada pelo plugin de estilo de widgets Qt em uso
/u/cfeck_kde, em uma resposta no r/kde, explica que, pelo que sabe, apenas o estilo Skulpture permite configurar o tamanho, enquanto outros estilos como o Breeze exigem alterar o código-fonte em C++ e recompilar- Plugins de estilo do Qt são código real, então permitem um controle poderoso, mas é preciso encontrar um plugin que ofereça a configuração desejada
- O Kvantum torna difícil encontrar a configuração de largura da barra de rolagem, mas permite desativar o recurso de desaparecimento da barra chamado “Transient scrollbars”
- O Skulpture parece valer a tentativa, mas não foi confirmado um método de configuração via GUI sem o KDE Plasma
- Se for preciso depender de um único engine de tema, permanece a preocupação sobre sua manutenção enquanto o desenvolvimento do Qt continua
Firefox, Chrome e Electron
- O Firefox também usa barras de rolagem muito pequenas, mas atualmente elas podem ser ajustadas em
about:config- Digite
about:configna barra de endereços - Altere
widget.non-native-theme.scrollbar.size.overridepara o número desejado - Também é possível mudar
widget.non-native-theme.scrollbar.stylepara alterar a aparência - O valor
4define um formato retangular espesso - Na janela normal de configurações, em
about:preferences, é possível ativar “Always show scrollbars”
- Digite
- Como exemplo, é possível definir o tamanho da barra de rolagem do Firefox como
50; mesmo que ninguém queira usá-la tão grande na prática, a vantagem é justamente poder aumentá-la bastante - O texto de Athena Lilith Martin sobre configurações extras de barras de rolagem no Firefox aborda ajustes adicionais, como desativar overrides de CSS de páginas web
- A avaliação é que não dá para esperar configurações úteis no Chrome
- Em aplicativos Electron, a configuração também é difícil, e não há uma solução clara, embora talvez fosse possível corrigir isso com injeção de CSS personalizado
Uma forma melhor de navegação: minimapa
- Um minimapa permite ver o conteúdo, clicar no conteúdo e ir para a posição correspondente ao que foi clicado
- O alvo de clique é muito grande, então ele também é útil para usuários de rastreador ocular e caneta de tablet
- Os “princípios modernos de design” em geral estão funcionando contra as barras de rolagem e contra pessoas com diferentes formas de usar o computador
1 comentários
Opiniões do Hacker News
O problema não é só a barra de rolagem. Por causa da remoção das bordas das janelas, elas não se distinguem de janelas ao fundo com cores parecidas, e ficou quase impossível pegar a borda para redimensionar a janela
A barra de título ficou cheia de campo de busca e botões desnecessários, então quase não há onde clicar para mover a janela; e navegar entre caixas de texto com Tab também não funciona como esperado, ou simplesmente não funciona
Tooltips atrapalham e poluem a interface, muitas vezes cobrem o conteúdo que você quer ver, e 95% deles são informações redundantes ou inúteis
Nos últimos 10 anos, o UI/UX de culto à carga descartou princípios de usabilidade acumulados por décadas e produziu resultados que só parecem bonitos, mas não funcionam direito para muita gente
Apps como Postman, Teams, a maioria dos apps atuais da Microsoft, Chrome e Insomnia deveriam ser usados como exemplos de como não fazer UI de software desktop
O pecado maior é que esses elementos não seriam um problema se fossem configuráveis no nível do sistema de janelas e se os desenvolvedores de apps não pudessem sobrescrevê-los; mas Windows e Gnome/GTK, pelo contrário, estão indo na direção de remover opções existentes
Toda vez que inicio o “New Teams”, ele pergunta se quero voltar para o Old Teams; e, se abro um PDF no New Teams a partir do Explorador de Arquivos, não fica claro como fechar o PDF sem perder a localização no sistema de arquivos
Além disso, tudo é terrivelmente lento. Há bastante gente trabalhando na Microsoft/Apple/Google que não sabe fazer o próprio trabalho, e deveria ter vergonha disso
No caso do Windows, com certeza é assim; acho que todas as versões posteriores do Windows pioraram a experiência do usuário
Concordo fundamentalmente que usabilidade é mais importante que estética, mas não sei exatamente a quem “idiotas do UI/UX de culto à carga” se refere
Do meu ponto de vista, trabalhando há mais de 20 anos como líder de UX/UI, os principais responsáveis por arruinar a usabilidade muitas vezes foram líderes de negócios e profissionais de marketing, mais do que designers
Claro que há designers que acham que forma é mais importante que função e insistem em barras de rolagem pequenas, mas, quando o problema é explicado, muitas vezes recuam e criam um design utilizável
Executivos C-level, líderes de marketing e gerentes são mais perigosos porque, mesmo sem entender de UI, têm opiniões fortes e fazem pedidos como “essa barra de rolagem deste site é boa” ou “o design não parece moderno”
É doloroso demais lutar para preservar usabilidade e acessibilidade, e alguns cargos precisam agir de forma mais profissional e confiar nos especialistas. Também é verdade que designers devem pensar primeiro em usabilidade
Menus de configurações viraram um pesadelo de listas sobre listas, a estrutura dos menus é completamente aleatória em cada app, e muitas vezes até coisas que poderiam ser configuradas localmente mandam você para um link de site externo
É realmente difícil entender a intenção do designer, e não dá para saber se eu não encontrei a configuração ou se ela nunca foi colocada nesse menu para começo de conversa
Já precisei procurar no Google vezes demais só para mudar uma configuração básica, e isso acontece até em jogos, onde a experiência é metade do valor do produto
No menu de configurações do CS2, os botões de texto na parte superior parecem abas, mas na verdade só rolam para pontos arbitrários de uma longa lista de configurações, então é difícil separar mentalmente o que cada botão significa
Os significados dos conceitos não se conectam entre si e também não são estruturados, de modo que explorar a computação ficou desnecessariamente difícil demais
Sinto falta da UI do Macromedia Flash; eu não a usava muito, mas ela era realmente simples e fácil de usar
Um dos grandes motivos que me levam a buscar privacidade e soluções feitas por mim mesmo também é querer escapar da contaminação da experiência e do conhecimento que se vê hoje
A antiga caixa de redimensionamento ficava na parte inferior da barra de rolagem vertical, logo abaixo do botão de seta para baixo, como uma alça separada dedicada ao redimensionamento da janela
Como ficava bem perto do botão de rolagem usado para ver conteúdo que não aparecia na tela inicial, ela era quase um ponto de partida e uma referência naturais para interagir com o viewport
Ironicamente, ela desapareceu da maioria das UIs de apps, mas navegadores ainda a renderizam em elementos como textarea, quando a barra de rolagem e o resize estão ativados. Só que, na maioria das UIs, os botões de rolagem relacionados já não existem mais
Tive uma constatação engraçada recentemente. Não foi minha visão que piorou, foi a UI que piorou
Barras de rolagem minúsculas e com contraste ridiculamente baixo não são acessíveis para ninguém
Recentemente comecei a usar o KDE com o tema Oxygen, e é uma alegria usar sem cansar os olhos
Barras de rolagem desse tipo são coisas patéticas sem margem para customização, e, se você quiser aplicar um tema a um app travado, boa sorte
É escancarado demais que designers de UI não se importam com as necessidades dos usuários, e o mundo FOSS não é exceção
É triste ver a regressão de uma época em que havia software bonito, funcional, acessível e rápido para esse lixo em Electron fechado e sem suporte a temas
Se a UI tivesse contraste e legibilidade suficientes, talvez nem precisássemos de coisas como “modo escuro”
Quando uso software sem modo branco, muitas vezes ele é tão claro que a parede próxima parece iluminada por uma lanterna
Aí, se eu reduzo o brilho da tela, as cores e o contraste ficam péssimos e ainda assim não dá para ver nada
Sinto falta das interfaces cinza da era Win 9x; não eram bonitas, mas dava para enxergar de verdade
Não é nada estranho que as pessoas tenham passado a pedir modo escuro depois que a UI plana ofuscante passou a dominar
Controles manuais digitais em que é fácil sair do menu e, ao tentar voltar, acabar ajustando algo completamente diferente ficaram digitais demais e trabalhosos demais
Antigamente era fácil ajustar contraste e brilho do monitor, volume do amplificador, TV analógica, termostato, rádio do carro etc.
Ainda não há um movimento para reintroduzir muitos controles analógicos, mas, no fim, nosso mundo é analógico. A entrada é analógica, como fala e movimentos musculares, e a saída também é analógica, chegando aos sentidos como luz e vibração
Não sei por que os controles não são mais analógicos; provavelmente é uma questão de custo
Eu compraria na hora um monitor ou notebook com controles analógicos. Mesmo que, na prática, fosse um dial de 16 milhões de níveis, bastaria que a resposta fosse imediata e que parecesse um potenciômetro de verdade
Seria bom ter um knob para, conforme a situação, mudar rapidamente a intensidade ou percorrer opções, tornando tudo mais fácil de ler e ouvir
Hoje, 90% do que fazemos acontece dentro do navegador, então seria ótimo se o navegador oferecesse uma API de acessibilidade para ser controlado por um knob giratório, via Bluetooth ou qualquer outra coisa. Seria como uma versão turbinada da roda de rolagem
Frequentemente encontro sites com popovers roláveis ou frames internos estranhos; como a barra de rolagem do pequeno frame interno fica escondida, não dá para saber se há mais conteúdo, e acabo achando que o site está completamente quebrado
Isso me deixa muito irritado, e culpo o iOS e o macOS por incentivar e popularizar essa loucura. Quem empurrou a moda da UI “plana”, que dificulta adivinhar o que é o quê, também é indiretamente responsável
UI é comunicação, mas os designers de UI decidiram que murmurar é elegante
Já em um sistema operacional de desktop, até as menores telas usadas são muito maiores, então há poucos bons motivos para esconder a barra de rolagem
Mesmo quando as crianças estão quietas, dormindo ou na escola, muitos filmes e séries atuais são difíceis de assistir sem legendas
Mais uma vez, é preciso elogiar o Firefox por dar, no about:config, uma ferramenta para desligar esse tipo de coisa. Na melhor das hipóteses é uma decoração bonitinha; na pior, é irritante e abusiva
A UI do navegador deveria ficar quase totalmente fora da área que um site pode alterar, e a barra de rolagem está incluída nisso
O texto inteiro é muito bem escrito, e meus elogios ao autor
Eu também voltei para o Firefox porque o Edge continuava empurrando busca do Bing e outros recursos, e até o prompt de restauração de abas ficou irritante demais. Queria que ele simplesmente calasse a boca e parasse com isso
Hoje, mais velho, com o benefício do retrospecto e a desvantagem de uma visão pior, consigo admitir que eu estava errado. É abusado com facilidade demais
Felizmente, dá para sobrescrever isso com o uBlock Origin
https://addons.mozilla.org/en-US/firefox/addon/minimap-scrol...
Acho que deve ser este
<https://www.makeuseof.com/change-firefox-scrollbar-style/>
O autor vê metade do problema e ainda propõe a metade ruim da solução
A barra de rolagem não é apenas um controle, mas também um indicador de posição. Ela mostra onde a viewport atual está dentro de uma visualização maior, como uma lista longa
Esconder a barra de rolagem, como fazem algumas GUIs como o macOS, é muito grosseiro, como tornar botões indistinguíveis de texto ou colocar texto cinza-claro sobre um fundo cinza-claro
A solução já existe e é implementada de forma quase universal: a roda de rolagem do mouse e os gestos de rolagem do trackpad
É muito raro uma visualização ser rolável pela barra de rolagem, mas não pelos gestos padrão do trackpad ou pela roda do mouse. Meu mouse também permite rolagem horizontal pela roda, e os controles TrackPoint também
Esse tipo de rolagem nem exige que o ponteiro esteja sobre a barra de rolagem; basta que ele esteja sobre a visualização/controle/widget desejado
É muito fácil de fazer mesmo com dispositivos de entrada imprecisos, mãos trêmulas ou visão ruim
Mas, quando existe uma forma de rolagem tão natural e fácil, a barra de rolagem faz ainda mais falta quando cumpre o papel de indicador
Minimap às vezes é útil, mas muitas vezes não é; pessoalmente, em edição de texto, acho grande demais e pouco útil. Claro, sou a favor de que exista como opção para quem gosta
Partindo do pressuposto de que o documento responde corretamente, é fácil se deslocar por grandes trechos com a barra de rolagem, especialmente em documentos grandes. Na web de hoje, é difícil confiar nesse pressuposto
Em PDFs antigos e grandes, sem links e com números de página de seção como “B-29”, já fiz incontáveis vezes uma espécie de busca binária com a barra de rolagem para encontrar uma página enterrada
Claro que a web moderna praticamente destruiu a possibilidade de usar a barra de rolagem como indicador com o abuso de lazy loading e rolagem infinita
Muitas vezes, no Mac, pulei para o fim do documento com Cmd-seta para baixo esperando que houvesse um fim, e esperando que todos os embeds que quebram a formatação carregassem
Mas, no fim, é como estar em um trem sem fim à vista, sem saber quanto já percorri e quanto ainda falta
Por isso, como a barra de rolagem se tornou praticamente inútil, uso uma roda de mouse pesada, com rolamentos, projetada para doom scrolling em alta velocidade
O parágrafo seguinte também trata da dificuldade que barras de rolagem pequenas/ocultas impõem a outros métodos de entrada, como rastreadores oculares
O papel principal da barra de rolagem é mostrar ao usuário que o documento é maior que a janela, e o papel secundário é mostrar que parte do documento está visível. Fazer o usuário rolar não é sua função principal
Fiquei realmente surpreso quando a Apple começou a ocultar as barras de rolagem por padrão no macOS. Parece que os designers de UI da Apple não sabem o que os controles básicos de UI realmente fazem
Usuários de Wacom/caneta não têm roda de rolagem
Muitos trackballs também não têm roda de rolagem, embora alguns tenham um anel de rolagem em torno da bola
Desenvolvi uma lesão por esforço repetitivo no dedo usado para rolar, então removi a roda de rolagem do mouse. Também houve uma época em que estiquei demais o braço que usa o mouse e precisei usar um trackball com a mão oposta por algumas semanas
Também precisamos falar sobre bordas de janela. Tenho várias janelas do VS Code com fundo preto e bordas pretas abertas sobrepostas, sem sombra
Não dá para ver de jeito nenhum onde está a moldura/borda de uma janela sobre outra. Isso deveria ser um problema no nível do sistema operacional, mas apparently é um problema do app
Além disso, o VS Code “retirou” o suporte à configuração de bordas: https://github.com/microsoft/vscode/issues/160159
https://news.ycombinator.com/item?id=37865824
Minha teoria é que os designers miram em usuários que veem apenas uma janela em tela cheia por vez
O usuário-modelo deles está sentado diante de um notebook de 13 polegadas, em um cômodo com iluminação ideal e sem reflexos, não move nem redimensiona janelas e não abre mais de 3 abas/documentos por dia
Sempre que leio textos assim ou blogs de UX, fica claro demais o quanto não nos importamos com acessibilidade
Um design “bom” e acessível é bem mais sem graça e enxuto do que se espera de apps web modernos
Li o livro de Adam Silver sobre formulários e percebi que, do ponto de vista da acessibilidade, estamos fazendo tudo completamente errado, mas acessibilidade não é prioridade
Especialmente dark patterns são muito opostos à acessibilidade
Por isso são necessárias leis que tornem a acessibilidade obrigatória
Você sabe o que vira um problema de acessibilidade para muita gente acima dos 40? Texto branco em fundo escuro.
Acho que nunca vou me cansar de ouvir argumentos a favor de tornar páginas da web legíveis para pessoas da minha faixa etária.
Ao abrir as ferramentas de desenvolvedor e ajustar o CSS do autor, eu conseguia ler, mas aí os scripts de shell ficavam ilegíveis.
É tão desconfortável que, se nem selecionar todo o texto suavizar o contraste entre fundo escuro e texto branco, eu simplesmente não leio a página.
Também dá para considerar desativar o CSS por completo.
Uma coisa realmente boa dos últimos 5 anos é que a maioria das principais interfaces de usuário agora oferece tanto modo escuro quanto modo claro.
Minha solução é esta:
https://addons.mozilla.org/en-US/firefox/addon/font-contrast...
No mínimo, ela força o texto para preto. É bastante estável, e também é fácil configurar as exceções que às vezes são necessárias.
Concordo que as barras de rolagem estão morrendo e ficando inutilizáveis. Barras de rolagem deveriam ser largas, claramente visíveis e fáceis de acertar.
Elas deveriam ter tamanho proporcional para indicar a fração atualmente visível do documento, e a parte móvel deveria ter características que sugerissem atrito, não escorregamento.
Os botões de seta deveriam ficar juntos, não em extremidades opostas, e deveriam indicar por cor os estados de hover e de botão do mouse pressionado.
Entre as barras de rolagem clássicas mostradas aqui, a do Nextstep em https://scrollbars.matoseb.com/ é a que mais se aproxima dessas condições, e acho a do Mac OS 8 a mais bonita no geral.
Antigamente existia uma área de pesquisa chamada interação humano-computador, na qual se aprendia a Lei de Fitts e o fato de que as bordas da tela têm, na prática, tamanho infinito e por isso são especialmente valiosas.
No OS X, deixo o MS Teams aberto como punição; a janela fica colada no lado direito da tela, e há uma barra de rolagem na borda direita.
Quando empurro o mouse para a direita e clico tentando pegar a barra de rolagem, que se expande ao passar o mouse e alcança até o pixel da borda, a janela inteira é arrastada.
Não sei como chegamos a esse ponto. Houve uma época em que se pesquisava ativamente o que era uma boa interface de usuário, essa pesquisa era refletida na experiência real do usuário, e os resultados apareciam.
Fico curioso por que isso é tão raro, tirando o motivo “porque sempre foi assim”.
Dizem que “designers não fazem testes de usabilidade com usuários não técnicos”, mas, mesmo que fizessem, isso não faria muita diferença.
Trabalho como desenvolvedor web há quase 25 anos e colaborei com muitos designers; o que importa para eles é um layout pixel perfect que combine com sua “visão”. UX nem sequer passa pela cabeça.
Em casos assim, não há persuasão que funcione.