Contraste de cores – Acessibilidade na web

Nesse post vou explicar uma das opções de como fazer um contraste de cores, existe diretrizes de acessibilidade da WCAG 2.0 que explica o nível aceitável de contraste de cores esperadas em um site, veja nesse link. Proposta Criar um contraste de cores em três níveis (Branco, Preto e Azul) usando HTML5, CSS3, Javascript (Puro)

Nesse post vou explicar uma das opções de como fazer um contraste de cores, existe diretrizes de acessibilidade da WCAG 2.0 que explica o nível aceitável de contraste de cores esperadas em um site, veja nesse link.

Proposta

Criar um contraste de cores em três níveis (Branco, Preto e Azul) usando HTML5, CSS3, Javascript (Puro), Node e o Cookie do navegado para guarda o contraste escolhido.

Como será feito

  • Em uma página teremos quatro links em que o usuário vai escolher (Preto, branco, azul ou sem contraste).
  • No evento de click vamos passar para o javascript um valor do atributo ‘data-contraste’.
  • Vai ser adicionar na tag ‘body’ um ‘id’ para o CSS fazer toda a mágica de trocar as cores da página.
  • Vai ser guardado no cookie a opção selecionada.

Veja como vai ficar;

  • Então…

HTML

O HTML para esse tipo de projeto é de extrema necessidade ser no mínimo validado pelo W3C e ter nível “AAA” em alguma ferramenta de análise de acessibilidade, no caso eu usei o Accessmonitor, já usando a WCAG 2.0.

A atenção na contrução do HTML vai determinar se o usuário acessível vai ter uma boa experiência no seu site ou não.


Umas das recomendações da WCAG 2.0 é que o primeiro link do site leve para o conteúdo principal, com isso você já ganha uns pontinhos na ferramenta de análise de acessibilidade.


CSS

O CSS é muito importante, se possível não usar CSS inline, a utilização de unidades relativas (EM, %,  REM) na escrita do CSS melhora a acessibilidade. Validar o CSS vai apontar erros que deixamos passar, para isso temos a ferramenta de análise da W3C o CSS Validation Service. Não vou postar aqui o CSS, mas logo abaixo vou deixar o link do projeto completo ;).


Javascript

Nesse post resolvi usar javascript puro, pois se trata de uma aplicação simples e não haveria a necessidade de usar JQuery ou alguma lib ou Framework e também eu amo javascript puro, acho bem desafiador /.

Esse Javascript modularizei em três blocos.

2 – A Função de setar o contraste.


Node? sim, usaremos o Node para subir um servidor, pois não da pra guardar cookie sem um servidor, vamos precisar usar o Node, mas é super simples.

Não sabe usar? Não sabe o que é? tem um poste aqui muito bom que vai te dar o caminho das pedras, nesse link.

No site NPMJStemos um servidor em que iremos utilizar, abra seu Node e manda essa;

Pronto, o resultado será esse;

Agora navegando com o Node até a pasta do seu projeto;

Ok, você já tem um servidor no ar, utilize um dos endereços http listados e abra no seu navegador de preferência (Chrome);

Já está tudo pronto, com o servidor no ar já podemos gravar no cookie a escolha do contraste selecionada pelo usuário, isso vai evitar que o usuário atualize a página e carregue a página sem o contraste escolhido.

já podemos verificar o cookie guardado depois do click no link

Com esse valor guardado no cookie o passo 3 vai funcionar perfeitamente, setando o contraste escolhido anteriormente ao recarregar a página.


Veja o projeto completo no codepen e no github.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *