2 pontos por GN⁺ 2025-01-21 | 1 comentários | Compartilhar no WhatsApp
  • Se um site oferece apenas modo escuro, isso pode causar cansaço visual e desconforto para alguns usuários ao ler textos longos, por isso é preciso haver opção de escolha ou combinações de cores mais confortáveis
  • O ponto central não é o modo escuro em si, mas a taxa de contraste entre texto e fundo; texto branco puro sobre fundo preto absoluto pode gerar um contraste de 21:1 e se tornar cansativo
  • Usar texto cinza #888888 sobre fundo preto reduz a taxa de contraste para 5.9:1, servindo como exemplo de modo escuro mais confortável de ler do que um contraste excessivo
  • A WCAG 2.1 exige apenas uma taxa mínima de contraste de 4.5:1 para texto comum e não impõe limite máximo, então até uma combinação de 21:1 pode ser tratada pelas regras como acessível
  • O requisito Maximum text contrast no rascunho da WCAG 3.0 foi removido na atualização de 4 de setembro de 2025, e textos em modo escuro forçado atualmente exigem respostas temporárias como sobrescrever o CSS manualmente

Quando o modo escuro forçado dificulta a leitura

  • Há muitos sites e blogs pessoais projetados apenas para modo escuro, e em alguns deles os olhos podem começar a incomodar antes mesmo de ler um parágrafo
  • O modo escuro é útil em certas situações, mas quando é imposto ao usuário sem opção de escolha, vira uma experiência ruim
  • Depois de ler um texto longo em modo escuro, os olhos podem não se readaptar de imediato, dando a sensação de que listras horizontais continuam visíveis

O centro do problema é a taxa de contraste

  • O principal fator que determina o desconforto no modo escuro é a taxa de contraste entre texto e fundo
  • Colocar texto branco puro sobre um fundo preto absoluto produz uma taxa de contraste de 21:1
    • Essa combinação pode cansar os olhos e dificultar a leitura
  • Usar texto cinza #888888 sobre fundo preto reduz a taxa para 5.9:1
    • É um exemplo de combinação de cores que continua em modo escuro, mas fica mais confortável de ler
  • Uma taxa de contraste mais alta nem sempre é melhor e, no modo escuro, o contraste excessivo pode aumentar o desconforto

O que os critérios da WCAG deixam passar

  • A WCAG 2.1 SC 1.4.3 atual exige uma taxa mínima de contraste de 4.5:1 para texto comum
  • A WCAG 2.1 não define um limite de contraste máximo
    • Assim, até combinações com contraste de 21:1, como texto branco puro sobre fundo preto absoluto, podem ser consideradas plenamente acessíveis pelas regras
    • Mesmo podendo causar desconforto para muitos usuários, as diretrizes atuais não tratam do problema do contraste excessivo no modo escuro
  • A WCAG 3.0 previa adicionar Maximum text contrast como requisito exploratório
    • Segundo a atualização de dezembro de 2025, esse requisito foi removido na atualização do rascunho da WCAG 3.0 de 4 de setembro de 2025
    • A issue no GitHub sobre a matemática do contraste ainda continua aberta

Formas de contornar por enquanto

  • Se um texto importante só estiver disponível em modo escuro forçado, é possível sobrescrever o CSS nas ferramentas de desenvolvedor do navegador para inverter as cores
  • Se você não quiser usar um plugin separado, as ferramentas de desenvolvedor continuam sendo uma solução temporária até surgir algo melhor

Quando o modo escuro funciona bem

  • A posição não é de rejeição ao modo escuro em si; ele é preferido nas seguintes situações
    • Ao ler em uma tela OLED em um quarto escuro, por exemplo no celular antes de dormir
    • Ao escrever código, já que quase todas as IDEs oferecem por padrão um modo escuro com taxa de contraste confortável
    • Quando o modo escuro de um site tem uma taxa de contraste confortável
  • Depois do texto, a discussão no Hacker News reuniu concordâncias e críticas, abordando a escolha entre modo escuro/claro nos OEMs iniciais, a importância da taxa de contraste, experiências pessoais, condições médicas, questões de acessibilidade e formas de contorno

1 comentários

 
GN⁺ 2025-01-21
Opiniões do Hacker News
  • Modo escuro era originalmente algo mais próximo do padrão tradicional
    Os primeiros monitores monocromáticos com letras verdes/âmbar e fundo preto, o modo texto cinza do DOS em fundo preto, as letras azul-claras sobre fundo azul-escuro do C-64 e o cinza/branco do Apple II sobre fundo preto eram assim
    Mesmo nas GUIs, o Amiga tinha o Workbench padrão com fundo azul-escuro, e o usuário podia escolher todas as paletas
    Foi o Microsoft Windows que definiu, na maioria dos apps, letras pretas sobre tela branca como padrão por ser parecido com papel; e, embora o papel seja branco, ele não é um branco luminoso, então essa transição foi dolorosa
    É bom ver o modo escuro de volta, mas é preciso haver escolha, não modo escuro forçado; e, se possível, o modo claro também não deveria ser branco no brilho máximo

    • Modo escuro não é o padrão tradicional, e papel era fundo branco com letras pretas
      Não se deve deixar o aparelho ou monitor em branco luminoso; é preciso reduzir o brilho para que pareça com o papel colocado ao lado
      Quem mudou o paradigma também não foi o Windows: entre os dispositivos de consumo amplamente difundidos, o Mac veio antes, e seu CRT embutido também era menos brilhante que papel sob a iluminação tradicional de escritório
      Os primeiros computadores usavam esquemas de cores escuros porque a resolução era baixa e o brilho dos pixels se espalhava, o que facilitava a leitura; com a melhora da tecnologia, esse problema desapareceu, e texto escuro sobre fundo claro é mais confortável para os olhos, seja na tela ou no impresso
    • A taxa de contraste dos CRT antigos é completamente diferente da de telas LCD/IPS/OLED modernas
      Âmbar e verde também eram considerados mais confortáveis que letras brancas, e a diferença é tão grande que a comparação em si fica difícil
      Se o fundo tiver algum nível de brilho em vez de preto absoluto, o modo escuro pode funcionar bem para mais pessoas, mas aí se perde a maior parte das vantagens do OLED
    • “Padrão tradicional” não é uma afirmação absoluta
      É verdade que DOS/Unix nos PCs iniciais usavam fundo preto por causa das características dos displays da época, mas antes disso informações eram compartilhadas em papel branco, e o início da internet trouxe de volta letras pretas sobre fundo branco
      No fim, não existe algo como um padrão autêntico; depende de quando você entrou na história
    • Aquele período foi um momento muito curto em que tudo estava sendo definido, e restrições de custo, mais do que preferências pessoais ou ergonomia, determinavam o desempenho computacional e a forma de exibição
      O fato de o Amiga Workbench ter fundo azul-escuro também foi por custo. Esperava-se que muita gente o conectasse a TVs via saída de vídeo composto, e letras brancas sobre fundo azul eram uma combinação que as TVs exibiam bem
      O monitor 1080 custava cerca de um terço do preço do A1000, e é bem provável que muitos A500, depois de serem abertos no Natal, tenham ficado conectados a TVs por um tempo
      Usei praticamente todos os processadores de texto para Amiga e, exceto o WordPerfect, todos eram letras pretas sobre fundo branco; o WordPerfect também podia ser alterado, mas apenas mantinha o azul/branco padrão para combinar com o DOS
    • O modo escuro era normal no início dos CRTs, e a maioria dos CRTs da época atualizava a 60 Hz ou menos
      Fundos escuros tornavam a cintilação menos perceptível e, à medida que CRTs com taxas de atualização mais altas se tornaram comuns nos anos 1990, o problema de flicker diminuiu e o modo claro virou o padrão
  • Espere: se um site tem apenas texto claro sobre fundo escuro, isso é o tema e a atmosfera desse site
    Modo escuro só existe quando há um modo claro, e o inverso também vale
    Não dá para obrigar sites que não querem a manter os dois modos

    • Isso já aparece no começo do texto
      Se o modo escuro faz parte da identidade da marca, o texto diz para escolher uma taxa de contraste confortável para leitura
  • O modo claro como padrão e sem possibilidade de configuração existiu por muito tempo, e há plugins como o Dark Reader para compensar isso
    Mas, no sentido inverso, há pouca infraestrutura para forçar o modo claro
    Na maioria das situações, acho o modo claro melhor que o modo escuro. A única situação em que o modo escuro é melhor é quando você está sentado em um quarto escuro em que a tela é a única fonte de luz, o que geralmente não é um ambiente saudável
    Modo escuro é mais uma ferramenta auxiliar; melhor acender a luz ou ir dormir
    Em um ambiente sem luz, o modo claro pode ser incômodo de ler, mas em um ambiente claro o modo escuro é quase ilegível. Tente ler uma UI em modo escuro no celular em um dia claro de verão: mesmo aumentando o brilho ao máximo, ainda é difícil enxergar

    • O plugin Dark Reader no meu sistema também tem uma opção para forçar tema claro
      Na verdade, o navegador tem recursos para definir a cor de fundo e a cor do texto padrão, então, se os sites simplesmente respeitassem esses padrões quando não fossem realmente necessários, nem seria preciso extensão
      É triste viver em um mundo em que é necessária uma extensão para “realmente respeitar minha preferência”, mas, se ela for necessária, vale saber que ao menos oferece opções para os dois lados. A situação toda é bem boba, mas existe um contorno
    • Sempre achei estranho que tanta gente, sem motivo médico, queira ficar sentada em um quarto escuro como um troll de caverna
      Hoje, todos os sistemas operacionais têm modos alternáveis e conseguem informar isso ao navegador. O navegador pode, e deve, se adaptar à configuração reportada pelo sistema operacional
      O design de UI é, em grande parte, uma sequência de atmosferas e modas mal aplicadas, salvo algumas ilhas de racionalidade como Paul Fitts
      Primeiro se usa contraste insuficiente porque dizem que contraste é ruim; depois se usa brilho insuficiente porque dizem que brilho é ruim. Aí se redescobre por que contraste e brilho eram importantes desde o início, e o ciclo continua
    • Como alguém que teve catarata, o modo claro era muito difícil de ler
      Era como olhar de frente para faróis altos de um carro; eu usava o plugin Dark Reader, mas não era a mesma coisa que um site oferecer suporte adequado a modo escuro
    • O modo escuro também pode ser melhor quando o brilho da tela está configurado de forma inadequadamente alta
    • Na minha tela, gosto do modo Pure Black porque os pixels pretos de fato se apagam
      É muito mais confortável de ver mesmo à luz do dia. Gostaria que o modo Pure Black fosse uma opção separada dos modos escuro/claro, como em alguns apps Android
      Por enquanto vou me virando reduzindo o brilho ao mínimo no Dark Reader, mas é meio grosseiro
  • Este próprio blog não segue as configurações do dispositivo e força o modo claro ao leitor
    O autor muda de posição no meio e conclui que o problema não é o modo escuro, mas o contraste de cores

    • O blog do autor também define explicitamente color: #111; e background-color: #fdfdfd;, o que dá uma relação de contraste de 18,56:1
    • O ponto real é o contraste, então o título parece um pouco desonesto
      Ironicamente, no fim ele diz que usará um filtro de inversão como contorno, mas se alguém que prefere modo escuro usar algo como o Invert Mode do Vivaldi no site do autor, com fundo branco forte e texto preto, vai acabar justamente com aquela relação de contraste escura da qual o autor reclama
  • Eu gostaria que não forçassem baixo contraste aos usuários
    Nem todo mundo vê conteúdo em uma tela calibrada acima de 100 nits e com iluminação ambiente clara, mas razoável
    A combinação recomendada de cinza sobre cinza pode ser difícil de ler, por exemplo, em uma sala totalmente escura com brilho em 0 ou sob luz solar direta
    Toda a faixa de cores SDR existe para ser usada; não é HDR, que precisa ser limitado para não cegar o usuário

    • Combinações de cinza sobre cinza também podem ser difíceis para pessoas mais velhas
  • Não é só uma questão de claro versus escuro. Eu gostaria que sites, de modo geral, respeitassem as preferências do meu sistema
    Se o tema do meu sistema operacional for texto roxo em Comic Sans sobre um fundo de tijolos amarelos, o navegador também deveria respeitar isso
    Se eu quiser ler texto ocupando toda a largura do navegador, e não em uma coluna estreita de 5 polegadas no centro, eu não deveria precisar fazer mágica nas configurações do navegador, invocar CSS de substituição ou instalar uma extensão
    O navegador deveria simplesmente dizer: “desenvolvedor web, não tem jeito. A preferência do usuário vence”
    Os navegadores entregaram controle demais aos desenvolvedores para que eles possam ignorar o que o usuário quer, e o termo “agente do usuário” fica sem sentido. Hoje está mais para agente do desenvolvedor

    • Talvez não dê para evitar o fundo amarelo, mas forçar Comic Sans é fácil no Firefox: basta defini-la como fonte preferida nas configurações e desativar “permitir que as páginas escolham suas próprias fontes”
      Eu também uso assim, e navegar na web ficou muito melhor
    • Apps de desktop ou outras coisas realmente respeitam esse tipo de configuração?
    • Eu não quero isso; prefiro escolher o esquema separadamente para cada site ou app
      Em alguns lugares o modo escuro é ótimo, em outros é absurdo. O mesmo vale para temas brancos
    • Parece que você quer usar o modo de leitura por padrão. Alguns navegadores permitem isso
  • Muitos desenvolvedores web presumem que todo mundo gosta de modo escuro e o colocam como padrão, justificando com a existência de um botão de alternância Dark/Light Mode
    É surpreendente como até sites novos muitas vezes não detectam a preferência do usuário e deixam isso fixo
    Como desenvolvedor, você pode usar a propriedade color-scheme do CSS para indicar em quais esquemas de cores um elemento pode ser renderizado confortavelmente
    :root { color-scheme: light dark; }
    element { light-dark(light-color-code, dark-color-code); }
    Como usuário de macOS, tenho preferências misturadas: gosto de modo escuro em coisas como a barra de menus ou a IDE, mas prefiro claro para ler, escrever e navegar
    Basta definir o tema como LIGHT em System Preferences, executar defaults write -g NSRequiresAquaSystemAppearance -bool Yes, fazer logout e depois definir o tema como DARK em System Preferences
    Para voltar ao tema padrão, execute defaults write -g NSRequiresAquaSystemAppearance -bool No

    1. https://developer.mozilla.org/en-US/docs/Web/CSS/color-schem...
  • O engraçado é que o exemplo de “texto fácil de ler” do blog é, para mim, realmente difícil de ler por causa do baixo contraste
    Fico imaginando que condição visual ou monitor ele usa

    • Meu palpite é que ele usa um monitor HDR caríssimo voltado a designers e aplica toda a gama de cores em tudo
    • Não consigo entender essa obsessão por destruir a legibilidade com cinza sobre cinza sobre cinza
      É insuportável, feio e difícil de ler. Queria que todo mundo parasse com isso
    • Eu também prefiro modo claro, mas na minha tela de cerca de 300 dólares o texto cinza é muito mais fácil de ler do que texto branco
  • Existe uma API web para saber se o usuário está em modo escuro, então é só usá-la
    @media (prefers-color-scheme: dark) { CSS Rules here... }

  • O modo escuro foi um erro
    Os primeiros LCDs eram escuros, então todo mundo aumentava muito o branco para compensar; agora que os LCDs alcançaram o nível necessário, isso virou algo que queima os olhos de muita gente
    Por isso cada vez mais é preciso oferecer dois modos, e o ícone de modo escuro ridiculamente feio da Apple mostra como é difícil fazer isso bem
    O ideal, para mim, seria voltar a usar cinza como cor base das interfaces de computador, como na época em que CRTs brilhantes eram o padrão
    Isso também teria a vantagem de permitir pistas de profundidade nos elementos da UI, algo que também deveríamos trazer de volta

    • Isso é só preferência pessoal
      O ponto central é que deve ser configurável, para que o usuário possa definir sua própria preferência
      Pessoalmente, o modo claro me ofusca, machuca meus olhos e me cansa. Varia de pessoa para pessoa
    • CRTs também tinham botões fáceis de ajustar para brilho e contraste, então qualquer pessoa podia adaptar rapidamente às suas preferências, fosse texto preto em fundo branco ou o contrário
    • “Usar cinza como cor base” não é, na maioria dos casos, o que o modo escuro já faz?
      O modo claro geralmente não é branco puro, e o modo escuro costuma ser em tons de cinza