Executando verificação de segurança...
4

WAI-Aria: A Revolução Invisível da Web Acessível

Entendendo a acessibilidade web através do WAI-ARIA

Introdução

Introdução

Do que se trata?

WAI-ARIA é uma série de regulamentações de construção de código de um website que visa uma maior acessibilidade seja atingida.

Define atributos HTML adicionais, que podem ser aplicados a elementos para providenciar acessibilidade onde se falta com o código base.




Entendendo o significado

Entendendo o significado

A WAI-ARIA serve para estender o significado das interações do seu site. Quando as tags do HTML5 vieram, elas já começaram um trabalho importante de dar significado às estruturas do layout.

Você consegue marcar agora o que é um menu de navegação, uma sidebar, um header, um footer etc. Esse trabalho é muito importante por que ajuda a definir a importância dos elementos que cada elemento contém.

Com tudo isso, a métrica WAI-ARIA se torna uma revolução para a web se tornar mais universal e assim ser mais acessível.

Porém, ela não é difundida e muito menos conhecida por muitos desenvolvedores o que a torna invisível no mundo da Tecnologia influênciando diretamente como são construídas as aplicações na web.

Com isso devemos como desenvolvedores pensar nos usuários como foco ao criar qualquer serviço, já que acessibilidade vai além de fazer com que pessoas com deficiências possam acessar o sistema e sim sobre qualquer pessoa conseguir usá-lo.

Agora, no recorte de inclusão nós referiamos a ela como transforma a web para as pessoas com deficiências.




Quem desenvolve o WAI-ARIA?

Quem desenvolve o WAI-ARIA?

Os documentos técnicos WAI-ARIA são desenvolvidos pelo Accessible Rich Internet Applications Working Group (ARIA WG), que faz parte do World Wide Web Consortium (W3C) Web Accessibility Initiative (WAI).




Usando WAI-ARIA

Usando WAI-ARIA

As práticas que se tem no WAI-ARIA se estendem a muitas para proporcionar a WWW (World Wide Web) acessível.

Dentro desse ecossistema podemos destacar algumas como:

  • Tornar conteúdo eficientemente legível por leitores de tela:

Imagem da Etec de Francisco Morato superior



Imagem da Etec de Francisco Morato parte do menu acionado

Certos elementos em websites nem sempre são reconhecidos por leitores de tela. Dificultando o uso de leitores de tela para deficientes visuais.

  • Atribuir elementos em código, especificando o que é cada parte:
<ul role="arvore">
   <li role="itensDaArvore">
     Frutas

     <ul role="grupo">
       <li role="fruta">
         Maças
       </li>

       <li role="fruta">
         Bananas
       </li>

       <li role="fruta">
         Laranjas
       </li>
     </ul>
   </li>
</ul>

Atributos WAI-ARIA utilizados num código para torná-lo mais compreensível e consequentemente acesssível.

  • Usar o HTML Semântico, com a chegada dele a W3C se volta a web buscando dar significado ao conteúdo ao contrário do que será antes, já que o foco era apenas construir conteúdo, exibir elementos.
  • No HTML5 as métricas se dão para construir o conteúdo baseado em significados, ou seja, escrever o teu site com semântica.


Imagem que demonstra blocos de marcações depreciada a esquerda usando div para tudo; a maneira atual onde se usa elementos semânticos

Usando os novos blocos de marcações como: header, main, footer, section, article, sidebar, hgroup, h1 a h6, figure, thead, tbody, tfooter, entre outras diversas que buscam agora dar significado ao que se encontra na tela para obter metricas melhores em: SEO e na questão de leitores de tela, por exemplo.

Logo o uso de div se torna necessário apenas em agrupar elementos que não necessitem significado.




Soluções Técnicas
Soluções Técnicas

WAI-ARIA fornece uma estrutura para adicionar atributos para identificar recursos para interação do usuário, como eles se relacionam entre si e seu estado atual.

WAI-ARIA descreve técnicas de navegação para marcar regiões e estruturas comuns da Web como menus, conteúdo primário, conteúdo secundário, informações de banner e outros tipos de estruturas da Web.

Por exemplo, com o WAI-ARIA, os desenvolvedores podem identificar regiões de páginas e permitir que usuários de teclado se movam facilmente entre regiões, em vez de pressionar Tab muitas vezes.




Conformidade

Do que se trata as conformidades no WAI-ARIA?

Define as seções NORMATIVAS e INFORMATIVAS da especificação.

  • Normativas:

Seções normativas fornecem requisitos que autores, agentes de usuário e tecnologias assistivas DEVEM seguir para uma implementação em conformidade com essa especificação.

  • Informativas:

Seções informativas fornecem informações úteis para entender a especificação. Sendo que elas PODEM seguir.

Diretrizes das normas

  • All WAI-ARIA in DOM:
    Deixar as regras do WAI-ARIA ao manipular o DOM.

  • Communicated Assistive Technology Notices to Web Applications:
    Usar notificações de tecnologias assistivas comunicativas nas aplicações web, ou seja, usar os meios da WAI-ARIA para fazer com que o web app esteja assistindo o usuário e o notificando.

  • Conformance Checkers:
    São os agentes ou softwares que irão checar se o web app está seguindo as conformidades (regras) do WAI-ARIA.

  • Deprecated Requirements:
    Análise dos requisitos que estão depreciados (desuso), sendo eles os requisitos que não estão elsendo mais usados, pois, possuem algum outro melhor que o substitua em alguma questão.

Exemplo de uso das conformidades

Exemplo de Tablist
Exemplo de Tablist

Neste exemplo, ao criar essa Tablist básica que foi criada de maneira semântica e de tro das regras do WAI-ARI, isto é, foram usados: atributos aria (selected, controls), label, id, role, class, tags semânticas que vão de encontro com tornar a web semântica, assistiva e inclusiva.




Roles, States e Properties

A WAI-ARIA divide a semântica em duas partes:

  • Roles, que define - que tipo de elemento o usuário está interagindo;

  • States/Properties - que são suportadas pelas Roles, que definem o estado daquele elemento;

A Role você fala que determinado elemento é uma collapse.

Com o States/Properties você diz se esse collapse está aberto ou fechado.

  • Definido DIRETO no elemento, ou via ATRIBUTOS.

Exemplo de collapse:

Exemplo de Collapse
Exemplo de Collapse

Na Collapse de exemplo temos um elemento pai que contém toda a Collapse sendo um container, temos os itens que contém seu respectivo conteúdo.

Se perceber a Collapse nada mais é do que uma lista que ao usuário pode realizar as ações de abrir ou fechar a Collapse.

Então se atente as duas palavras principais desse parágrafo: elemento e ações. Sendo que foi mencionando anteriormente:

Role  -  diz o que é o elemento.

States/Properties  -  definem o estado em que aquele elemento está com base em alguma ação passada por propriedades, por exemplo.

Roles

Cada role é responsavel por um determinado gênero de elemento.

Tipos:

  • Widgets
  • Document Structure
  • Landmarks
Widgets

Widgets para marcar elementos de interface soltos, como caixas de alerta, botões, checkbox, links, tabs etc.

Exemplos:

  • option
  • progressbar
  • radio
  • searchbox
  • tabpanel
  • textbox
Document Structure

Document Structure para definir estruturas de organização da página. Estruturas que não são interativas como o header, footer, sidebar, essas coisas.

Exemplos:

  • heading
  • figure
  • table
  • presentation
  • img
  • article
Landmarks

Landmarks para regiões de página que são pontos importantes para onde o usuário navegaria.

Exemplos:

  • banner
  • complementary
  • contentinfo
  • navigation
  • form
  • region

States e properties

Você consegue usar essas propriedades para informar se determinado elemento está escondido ou visível para o usuário, fornecer informações de texto ou até esconder elementos visuais desnecessário.

Veremos dois deles:

  • aria-hidden
  • aria-label
aria-hidden

Uso do aria-hidden
Uso do aria-hidden

No exemplo acima, o link tem um ícone com um significado apenas visual, já que a informação importante está no texto.

Sendo assim, o aria-hidden=”true faz com que leitores de tela ignorem esse elemento.

aria-label

É usado para fornecer informações sobre o elemento caso o texto não esteja disponível na tela.
De novo, um exemplo com ícone:

Uso do aria-label
Uso do aria-label

Ao invés de usar o aria-hidden=”true”, usamos o aria-label para informar o significado do ícone. 




Imagem capa do titulo exmeplo de uso

Exemplos de uso – WAI-ARIA

Fonte: Pure CSS Components (felipefialho.com) 

  • Accordion
    Imagem de um exemplo de accordion usando WAI-ARIA
    Imagem de um exemplo de accordion usando WAI-ARIA

  • Dropdown
    Imagem de um exemplo de dropdown usando WAI-ARIA
    Imagem de um exemplo de dropdown usando WAI-ARIA

  • Tooltip
    Imagem de um exemplo de tooltip usando WAI-ARIA
    Imagem de um exemplo de tooltip usando WAI-ARIA



Fontes

Carregando publicação patrocinada...
3
1

Fico grato camarada, pretendo trazer mais conteúdo sobre esse assunto, vejo que eu só falei uma pequena lasca do iceberg que existe

Este é meu user no discord caso queira aparecer lá para trocar alguma ideia: punk.da.silva

E este é meu email: [email protected]

Vai ser massa trocar uma ideia sobre esse assunto!