<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Luiza Gatti</title>
    <description>The latest articles on DEV Community by Luiza Gatti (@luizagatti).</description>
    <link>https://dev.to/luizagatti</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F660979%2Fdd10ea8a-6d09-4931-afa1-5fe0579ae47e.png</url>
      <title>DEV Community: Luiza Gatti</title>
      <link>https://dev.to/luizagatti</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/luizagatti"/>
    <language>en</language>
    <item>
      <title>Agora vamos falar de ARIA</title>
      <dc:creator>Luiza Gatti</dc:creator>
      <pubDate>Sat, 03 Jul 2021 20:02:19 +0000</pubDate>
      <link>https://dev.to/luizagatti/agora-vamos-falar-de-aria-2i0l</link>
      <guid>https://dev.to/luizagatti/agora-vamos-falar-de-aria-2i0l</guid>
      <description>&lt;p&gt;Antes de mais nada, se você não leu &lt;a href="https://dev.to/luizagatti/como-aumentar-o-alcance-do-seu-site-um-guia-de-acessibilidade-811"&gt;minha história anterior&lt;/a&gt;, volta lá e dá uma lida porque ela serve de introdução para essa aqui.&lt;/p&gt;

&lt;p&gt;A sigla ARIA (Accessible Rich Internet Applications) significa Aplicações para a Internet Ricas em Acessibilidade, que definem as formas de tornar o conteúdo e as aplicações da internet mais acessíveis.&lt;/p&gt;

&lt;p&gt;A ARIA permite a marcação de algumas regiões importantes na página que servirão para auxiliar na navegação (para ajudar quem usa um leitor de tela, por exemplo). É um conjunto de atributos especiais para acessibilidade que pode ser adicionado a qualquer linguagem de marcação, mas é especialmente adequado para o HTML, e todos os exemplos que trarei serão nessa linguagem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BU73Rz3p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fq7rhmf6493bktnaitr0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BU73Rz3p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fq7rhmf6493bktnaitr0.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Primeira regra de uso de ARIA
&lt;/h1&gt;

&lt;p&gt;Sempre que você puder usar um elemento nativo HTML5 ou atributo com semântica e comportamento que você precisa já incorporados, em vez de redefinir um elemento e adicionar o ARIA para torná-lo acessível, opte pelo HTML5.&lt;/p&gt;

&lt;p&gt;Em quais casos isso pode não ser possível?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quando o recurso está disponível em HTML5, mas não está implementado; ou está implementado, mas não dá suporte a acessibilidade;&lt;/li&gt;
&lt;li&gt;Se as restrições de design visual excluem o uso de um elemento nativo específico, porque o elemento não pode ser estilizado conforme necessário;&lt;/li&gt;
&lt;li&gt;Se o recurso não estiver disponível em HTML.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Segunda regra de uso de ARIA
&lt;/h1&gt;

&lt;p&gt;Não altere a semântica nativa, a menos que seja realmente necessário.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Não faça:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;h2 role="tab"&amp;gt;tab de cabeçalho&amp;lt;/h2&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faça:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;div role="tab"&amp;gt;&lt;br&gt;
   &amp;lt;h2&amp;gt;tab de cabeçalho&amp;lt;/h2&amp;gt;&lt;br&gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Nota: Se um elemento não interativo for usado como base para um elemento interativo, pessoas desenvolvedoras terão que adicionar a semântica usando ARIA e o comportamento apropriado usando scripts. No caso de um botão, por exemplo, é muito melhor e mais fácil usar apenas um botão.&lt;/p&gt;

&lt;h1&gt;
  
  
  Terceira regra de uso de ARIA
&lt;/h1&gt;

&lt;p&gt;Todos os controles interativos de ARIA devem ser utilizáveis via teclado.&lt;/p&gt;

&lt;p&gt;Se você cria uma ferramenta onde a pessoa pode clicar, tocar, arrastar, soltar, deslizar ou rolar, a pessoa também deve ser capaz de navegar até a ferramenta e executar uma ação equivalente usando o teclado.&lt;/p&gt;

&lt;p&gt;Todas as ferramentas interativas devem ser programadas para responder aos pressionamentos de tecla padrão ou combinações de pressionamento de tecla quando aplicável.&lt;/p&gt;

&lt;p&gt;Por exemplo, se estiver usando &lt;code&gt;role="button"&lt;/code&gt;, o elemento deve ser capaz de receber o foco e a pessoa usuária deve conseguir ativar a ação associada ao elemento usando Enter (WIN OS) ou Return (MAC OS) e a tecla de espaço.&lt;/p&gt;

&lt;h1&gt;
  
  
  Quarta regra de uso de ARIA
&lt;/h1&gt;

&lt;p&gt;Não use &lt;code&gt;role="presentation"&lt;/code&gt; ou &lt;code&gt;aria-hidden="true"&lt;/code&gt; em um elemento visível e focalizável. Usar qualquer uma dessas propriedades em um elemento que pode ser visível e focalizável irá resultar em pessoas usuárias clicando em ‘nada’.&lt;br&gt;
Um elemento que for oculto usando &lt;code&gt;display: none&lt;/code&gt; também será removido da árvore de acessibilidade, o que torna desnecessária a adição de &lt;code&gt;aria-hidden="true"&lt;/code&gt;.&lt;/p&gt;
&lt;h1&gt;
  
  
  Quinta regra de uso de ARIA
&lt;/h1&gt;

&lt;p&gt;Todos os elementos interativos devem ter um nome acessível.&lt;/p&gt;

&lt;p&gt;Um elemento interativo só tem um nome acessível quando sua propriedade de nome (name ou equivalente) está preenchida.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Não faça:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;label&amp;gt;Insira seu nome&amp;lt;/label&amp;gt; &amp;lt;input type="text"/&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faça:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;label for="user-name"&amp;gt;Insira seu nome&amp;lt;/label&amp;gt;&lt;br&gt;
&amp;lt;input type="text" id="user-name"/&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;O correto acima tem um nome acessível porque o elemento de entrada é um elemento rotulável e o elemento de rótulo é usando corretamente para associar o texto à entrada.&lt;/p&gt;

&lt;h1&gt;
  
  
  O que adicionar "role" faz com a semântica nativa?
&lt;/h1&gt;

&lt;p&gt;Ao adicionar a função ARIA, estamos substituindo a semântica da função nativa na árvore de acessibilidade e, portanto, ARIA afeta diretamente o que é relatado a uma tecnologia assistiva.&lt;br&gt;
Por exemplo, esse código:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;h1 role=button&amp;gt;text&amp;lt;/h1&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Fica assim na árvore de acessibilidade:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ba_YBTad--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a9708hvsg9ylzhu0wq5m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ba_YBTad--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a9708hvsg9ylzhu0wq5m.png" alt="Heading text - push button"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adicionar a ARIA &lt;strong&gt;não&lt;/strong&gt; fará com que o elemento pareça ou se comporte de maneira diferente para as pessoas que não estão usando tecnologia assistiva. A função &lt;strong&gt;não altera&lt;/strong&gt; os comportamentos, estados e propriedades do elemento host, apenas a semântica da função nativa. Por exemplo, esse código:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;button role="heading" aria-level=1&amp;gt; Texto &amp;lt;/button&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Fica assim na árvore de acessibilidade:&lt;br&gt;
 &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JG0B6Dka--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5qykj1543amelouxkk73.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JG0B6Dka--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5qykj1543amelouxkk73.png" alt="Na primeira linha temos: (none) - heading. Na segunda linha temos: text - editable text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mas ele ainda pode ser pressionado, ainda está na ordem padrão do tab, ainda se parece com um botão e ainda dispara as ações associadas a ele quando pressionado. É por isso que é um erro de conformidade com o HTML5 transformar um botão em um heading.&lt;/p&gt;

&lt;p&gt;Nota: alterar a role de um elemento não adiciona comportamentos, propriedades ou estados àquela função. O ARIA não muda a aparência ou a ação no browser. Por exemplo, quando os links são estilizados para se comportarem como botões, adicionar &lt;code&gt;role="button"&lt;/code&gt; não é suficiente. Também é necessário fazer funcionar como um botão, incluindo um manipulador de eventos de chave que escuta a tecla de espaço como os botões nativos fazem.&lt;/p&gt;
&lt;h1&gt;
  
  
  Uso de "role=presentation" ou "role=none"
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;role="presentation"&lt;/code&gt; ou seu sinônimo &lt;code&gt;role="none"&lt;/code&gt; remove a semântica do elemento onde ele está. Por exemplo, esse código:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;h1 role="presentation"&amp;gt; Texto &amp;lt;/h1&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Fica assim na árvore de acessibilidade:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_zKOpGxn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ylq9jxook2472peznv3n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_zKOpGxn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ylq9jxook2472peznv3n.png" alt="text - editable text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em outras palavras, é apenas relatado na árvore como uma string de texto, sem qualquer significado semântico.&lt;/p&gt;

&lt;p&gt;Para elementos sem &lt;em&gt;children&lt;/em&gt; obrigatórios, quaisquer outros elementos aninhados dentro de um com &lt;code&gt;role="presentation/none"&lt;/code&gt; preservam sua semântica. Por exemplo, esse código:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;h1 role="presentation"&amp;gt;&amp;lt;abbr&amp;gt; API &amp;lt;/abbr&amp;gt;&amp;lt;/h1&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Fica assim na árvore de acessibilidade:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WzJwVXV8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0bf3uslad2vnr77qs13g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WzJwVXV8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0bf3uslad2vnr77qs13g.png" alt="Na primeira linha: (none) - abbr. Na segunda linha: API - editable text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para elementos com children obrigatórios (como &lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; ou &lt;code&gt;&amp;lt;table&amp;gt;&lt;/code&gt;) quaisquer filhos obrigatórios aninhados dentro do primeiro elemento com a &lt;code&gt;role="presentation/none"&lt;/code&gt; também tem a sua semântica removida. Por exemplo, esse código:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;table role="presentation"&amp;gt;
   &amp;lt;tr&amp;gt;
      &amp;lt;td&amp;gt;
         &amp;lt;abbr&amp;gt; API &amp;lt;/abbr&amp;gt;
      &amp;lt;/td&amp;gt;
   &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fica assim na árvore de acessibilidade:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--h25Ohj3l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tr7hlfiek4aeytqq47lc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--h25Ohj3l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tr7hlfiek4aeytqq47lc.png" alt="Na primeira linha: (none) - abbr. Na segunda linha: API - editable text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nota: quaisquer elementos que não sejam filhos obrigatórios do elemento com uma &lt;code&gt;role="presentation/none"&lt;/code&gt; mantém sua semântica. Isso inclui outros como lista ou tabelas aninhadas. Por exemplo, esse código que consiste em uma tabela com outra tabela aninhada:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;table&amp;gt;
   &amp;lt;tr&amp;gt;
      &amp;lt;td&amp;gt;
         &amp;lt;table&amp;gt;
            &amp;lt;tr&amp;gt;
               &amp;lt;td&amp;gt;
                  &amp;lt;abbr&amp;gt; API &amp;lt;/abbr&amp;gt;
               &amp;lt;/td&amp;gt;
            &amp;lt;/tr&amp;gt;
         &amp;lt;/table&amp;gt;
      &amp;lt;/td&amp;gt;
   &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fica assim na árvore de acessibilidade:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--056AG_gD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvg95kfegshf6vdrp8cc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--056AG_gD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvg95kfegshf6vdrp8cc.png" alt="(none) - table | (none) - row | (none) - cell | (none) - table | API - row | (none) - cell | (none) abbr | API - editable"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ao adicionar role="presentation/none" na tabela mais externa, é assim que fica a árvore:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hzeGC7Ct--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lxu0zej60wmbmm06xaxa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hzeGC7Ct--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lxu0zej60wmbmm06xaxa.png" alt="(none) - table | API - row | (none) - cell | (none) - abbr | API - editable"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Uso de aria-label, aria-labelledby e aria-describedby
&lt;/h1&gt;

&lt;p&gt;Atualmente &lt;code&gt;aria-label&lt;/code&gt;, &lt;code&gt;aria-labelledby&lt;/code&gt; e &lt;code&gt;aria-describedby&lt;/code&gt; tem um suporte melhor em associar conteúdo de texto a um subconjunto interativo de elementos (por exemplo &lt;code&gt;&amp;lt;div role="main"&amp;gt;&lt;/code&gt; ou &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt;). Essas três opções não funcionam de forma consistente em links, o suporte a conteúdo embedado e conteúdo agrupado é inconsistente em navegadores, tecnologia assistiva e sistemas operacionais, mas podem ser usados com segurança em controles de formulário HTML5, incluindo vários tipos de &lt;code&gt;input&lt;/code&gt; e os elementos &lt;code&gt;&amp;lt;aside&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; e &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt;.&lt;br&gt;
O exemplo a seguir de aria-labelledby com várias referências usa um intervalo com um &lt;code&gt;tabindex=-1&lt;/code&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Uso de role=application
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Como &lt;code&gt;role=application&lt;/code&gt; afeta um leitor de tela?
&lt;/h2&gt;

&lt;p&gt;Em muitos leitores de tela populares, a maioria dos pressionamentos de tecla são capturados pelo leitor e não pela página da web quando a pessoa usuária está no modo de navegação. Isso é necessário para a navegação eficiente de uma página. Quando o modo de aplicativo está definido, muitos leitores de tela param de interceptar os pressionamentos de tecla e passam todos os pressionamentos de tecla diretamente para o navegador. Assim, a pessoa usuária não conseguirá navegar na página tão facilmente. Por exemplo, não serão capazes de pular a página por títulos ou ler um parágrafo de texto estático linha por linha. No entanto, vários leitores de tela não se comportam de maneira diferente quando há um conjunto de &lt;code&gt;role=application&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Então quando devemos usar?
&lt;/h2&gt;

&lt;p&gt;Ao determinar quando devemos usar essa propriedade precisamos levar em consideração também as vantagens dos atalhos de teclado do leitor de tela em relação à perda desses recursos. Geralmente não deve ser usado e, se for, devem ser realizados testes de usabilidade com pessoas usuárias de leitores de tela.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Não usamos&lt;/strong&gt; &lt;code&gt;role=application&lt;/code&gt; se um conjunto de controles tiver apenas esses widgets que fazem parte do HTML padrão. Isso também se aplica se você marcá-los e criar um modelo de interação usando funções WAI-ARIA em vez de widgets HTML padrão:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;text box&lt;/code&gt; (também se aplica a telefone, pesquisa e senha)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;textarea&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;checkbox&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;button&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;radio button&lt;/code&gt; (normalmente dentro de um fieldset/legend)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;select + option&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;link&lt;/code&gt;, &lt;code&gt;paragraphs&lt;/code&gt;, &lt;code&gt;headings&lt;/code&gt; e outros elementos que são clássicos/nativos de documentos web&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nota: não é recomendado que sejam desenvolvidos widgets de entrada de texto personalizados. Quase sempre é melhor usar os inputs nativos.&lt;/p&gt;

&lt;p&gt;Também &lt;strong&gt;não usamos&lt;/strong&gt; &lt;code&gt;role=application&lt;/code&gt; se seu widget for de algum dos seguintes tipos mais dinâmicos e não nativos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tree view&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;slider&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;table&lt;/code&gt; que tenha elementos focalizáveis e que esteja sendo navegado pelas teclas de seta, por exemplo uma lista de mensagens de e-mail. Outros exemplos interativos são grids, tree grids, etc&lt;/li&gt;
&lt;li&gt;Uma lista de guias (&lt;code&gt;tab&lt;/code&gt;, &lt;code&gt;tablist&lt;/code&gt;) onde a pessoa usuária seleciona guias pelas teclas de seta para a direita e para a esquerda. Lembre-se que você tem que implementar o modelo de navegação para esse caso&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dialog&lt;/code&gt; e &lt;code&gt;alertdialog&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;toolbar&lt;/code&gt; e &lt;code&gt;toolbar buttons&lt;/code&gt;, &lt;code&gt;menus&lt;/code&gt; e &lt;code&gt;menu items&lt;/code&gt; e similares&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Você &lt;strong&gt;deve usar&lt;/strong&gt; &lt;code&gt;role=application&lt;/code&gt; se o conteúdo que está fornecendo consistir apenas em controles interativos focalizáveis e, principalmente, widgets avançados que emulam um aplicativo desktop real. Observe que, apesar de muitas coisas agora serem chamadas de aplicativo web, a maior parte do conteúdo com que esses aplicativos trabalham ainda são informações baseadas em documentos, sejam postagens e comentários de blogs, feeds e até mesmo acordeões que mostram e ocultam certos tipos de informação. Ainda lidamos principalmente com documentos na web, embora eles possam ter uma aparência semelhante a um desktop na superfície.&lt;/p&gt;

&lt;p&gt;Em resumo: as vezes que você realmente irá usar o &lt;code&gt;role=application&lt;/code&gt; serão &lt;strong&gt;muito raras&lt;/strong&gt;!&lt;/p&gt;

&lt;h2&gt;
  
  
  Onde usar o &lt;code&gt;role=application&lt;/code&gt; quando ele for relevante?
&lt;/h2&gt;

&lt;p&gt;Coloque-o no elemento contido mais próximo de seu widget, por exemplo, a &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; superior a seu elemento.&lt;br&gt;
Como regra geral, se sua página consiste em mais de 90 ou 95% de widgets, &lt;code&gt;role=application&lt;/code&gt; &lt;em&gt;pode ser&lt;/em&gt; apropriado. Mesmo assim, verifique se realmente é o caso. &lt;strong&gt;Jamais&lt;/strong&gt; use &lt;code&gt;role=application&lt;/code&gt; em um elemento amplamente contido, como o &lt;code&gt;body&lt;/code&gt;, se sua página consistir principalmente em widgets tradicionais ou elementos de página, como links com os quais a pessoa usuária não precisa interagir no modo de foco. Isso causará enormes dores de cabeça para qualquer pessoa usuária de tecnologia assistiva.&lt;/p&gt;

&lt;h3&gt;
  
  
  Funções e propriedades de ARIA não disponíveis como recursos em HTML
&lt;/h3&gt;

&lt;p&gt;Abaixo estão listadas as funções e propriedades ARIA não consideradas disponíveis nativamente em HTML. Claro que muitas funções e propriedades fornecidas pelo ARIA, que podem ser usadas para transmitir informações à pessoas usuárias, não estão disponíveis em HTML.&lt;/p&gt;

&lt;h4&gt;
  
  
  ARIA Roles
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#alert"&gt;&lt;code&gt;alert&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#alertdialog"&gt;&lt;code&gt;alertdialog&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#application"&gt;&lt;code&gt;application&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#directory"&gt;&lt;code&gt;directory&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#document"&gt;&lt;code&gt;document&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#feed"&gt;&lt;code&gt;feed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#grid"&gt;&lt;code&gt;grid&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#gridcell"&gt;&lt;code&gt;gridcell&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#group"&gt;&lt;code&gt;group&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#log"&gt;&lt;code&gt;log&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#marquee"&gt;&lt;code&gt;marquee&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#menu"&gt;&lt;code&gt;menu&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#menubar"&gt;&lt;code&gt;menubar&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#menuitemcheckbox"&gt;&lt;code&gt;menuitemcheckbox&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#menuitemradio"&gt;&lt;code&gt;menuitemradio&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#none"&gt;&lt;code&gt;none&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#note"&gt;&lt;code&gt;note&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#presentation"&gt;&lt;code&gt;presentation&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#scrollbar"&gt;&lt;code&gt;scrollbar&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#search"&gt;&lt;code&gt;search&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#status"&gt;&lt;code&gt;status&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#switch"&gt;&lt;code&gt;switch&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#tab"&gt;&lt;code&gt;tab&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#tablist"&gt;&lt;code&gt;tablist&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#tabpanel"&gt;&lt;code&gt;tabpanel&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#timer"&gt;&lt;code&gt;timer&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#toolbar"&gt;&lt;code&gt;toolbar&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#tooltip"&gt;&lt;code&gt;tooltip&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#tree"&gt;&lt;code&gt;tree&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#treegrid"&gt;&lt;code&gt;treegrid&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#treeitem"&gt;&lt;code&gt;treeitem&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Estados e propriedades ARIA (atributos aria-*)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-activedescendant"&gt;&lt;code&gt;aria-activedescendant&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-atomic"&gt;&lt;code&gt;aria-atomic&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-busy"&gt;&lt;code&gt;aria-busy&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-controls"&gt;&lt;code&gt;aria-controls&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-describedby"&gt;&lt;code&gt;aria-describedby&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-dropeffect"&gt;&lt;code&gt;aria-dropeffect&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-expanded"&gt;&lt;code&gt;aria-expanded&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-flowto"&gt;&lt;code&gt;aria-flowto&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-grabbed"&gt;&lt;code&gt;aria-grabbed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-haspopup"&gt;&lt;code&gt;aria-haspopup&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-hidden"&gt;&lt;code&gt;aria-hidden&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-label"&gt;&lt;code&gt;aria-label&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby"&gt;&lt;code&gt;aria-labelledby&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-level"&gt;&lt;code&gt;aria-level&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-live"&gt;&lt;code&gt;aria-live&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-orientation"&gt;&lt;code&gt;aria-orientation&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-owns"&gt;&lt;code&gt;aria-owns&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-posinset"&gt;&lt;code&gt;aria-posinset&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-pressed"&gt;&lt;code&gt;aria-pressed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-relevant"&gt;&lt;code&gt;aria-relevant&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-setsize"&gt;&lt;code&gt;aria-setsize&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/#aria-sort"&gt;&lt;code&gt;aria-sort&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Referências
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.w3.org/WAI/"&gt;Iniciativa de Acessibilidade Web (WAI) do W3C&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.w3.org/TR/wai-aria-1.1/"&gt;Accessible Rich Internet Applications (WAI-ARIA) 1.1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.w3.org/TR/wai-aria-practices/"&gt;WAI-ARIA Authoring Practices 1.1&lt;/a&gt;&lt;/p&gt;

</description>
      <category>a11y</category>
    </item>
    <item>
      <title>Como aumentar o alcance do seu site: Um Guia de Acessibilidade</title>
      <dc:creator>Luiza Gatti</dc:creator>
      <pubDate>Sat, 03 Jul 2021 19:30:55 +0000</pubDate>
      <link>https://dev.to/luizagatti/como-aumentar-o-alcance-do-seu-site-um-guia-de-acessibilidade-811</link>
      <guid>https://dev.to/luizagatti/como-aumentar-o-alcance-do-seu-site-um-guia-de-acessibilidade-811</guid>
      <description>&lt;h1&gt;
  
  
  Introdução
&lt;/h1&gt;

&lt;p&gt;No mundo cerca de 15% da população tem algum tipo de deficiência. 1 a cada 7 pessoas se enquadra nessa estatística. Só no Brasil, esse valor chega a aproximadamente 24% da população de acordo com dados da OMS (2011) e do Censo (2010). Quando eu falo de deficiência, estou falando não somente de deficiências permanentes como surdez ou cegueira, estou falando também de deficiências temporárias como um braço quebrado ou uma laringite.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5fmoH-_d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/klxrinz4mnfgcaf5f2at.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5fmoH-_d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/klxrinz4mnfgcaf5f2at.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Acessibilidade é a possibilidade e condição de alcance, percepção e entendimento para a utilização, em igualdade de oportunidades, com segurança e autonomia, do meio físico, do transporte, da informação e da comunicação, inclusive dos sistemas e tecnologias de informação e comunicação, bem como de outros serviços e instalações (W3C).&lt;/p&gt;
&lt;h1&gt;
  
  
  Acessibilidade na Web
&lt;/h1&gt;

&lt;p&gt;Acessibilidade na web significa que pessoas com deficiência podem usar a web. Mais especificamente, a acessibilidade na web significa que pessoas com deficiência podem perceber, entender, navegar, interagir e contribuir para a web. E mais. Ela também beneficia outras pessoas, incluindo pessoas idosas com capacidades em mudança devido ao envelhecimento (W3C). A sigla que é usada na internet para se referir ao tema é a11y, que é uma abreviação de accessibility (entre o a e o y temos 11 letras).&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AoSthMTM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gz07b1qu5q0yjc7y6ewy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AoSthMTM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gz07b1qu5q0yjc7y6ewy.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No Brasil existe a Lei Brasileira de Inclusão da Pessoa com Deficiência, que visa tornar obrigatório o acesso de todos os cidadãos e cidadãs a quaisquer meios. Esta Lei tem como base a Convenção sobre os Direitos das Pessoas com Deficiência e seu Protocolo Facultativo. Não devemos aplicar acessibilidade a nossos projetos só porque a lei nos diz para fazer, mas também porque nos importamos e queremos passar nossa mensagem para todas as pessoas. "Uma experiência ruim para uma pessoa sem deficiência é geralmente muito pior para uma com deficiência." (Nicholas Kramer)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---VSgrlNy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rdyvhhmfegphiartrg0v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---VSgrlNy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rdyvhhmfegphiartrg0v.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Entretanto, acessibilidade não é apenas para pessoas com deficiência. Todos somos beneficiados de alguma forma. A Netflix por exemplo, que é uma provedora global de filmes e séries de televisão via streaming, fez um estudo e viu que seus usuários utilizam seus serviços com maior frequência na parte da noite. Inicialmente o fundo do site era cinza claro, mas após esse estudo eles mudaram para o "dark mode", que é o modo escuro com fundo preto. Essa mudança deixa o uso do site mais agradável, pois há menos luz. Outro exemplo é o fato de os smartphones automaticamente mudarem o brilho da tela de acordo com a iluminação do ambiente onde estamos, isso torna o uso mais fácil e agradável. Isso é acessibilidade e é para todos.&lt;/p&gt;
&lt;h1&gt;
  
  
  Projetos
&lt;/h1&gt;

&lt;p&gt;Existem alguns projetos de acessibilidade que a Google vem desenvolvendo que são muito interessantes e, vale frisar, são projetos que podem ser úteis para todo mundo.&lt;br&gt;
O &lt;em&gt;Live Caption&lt;/em&gt; é uma ferramenta que legenda automaticamente toda mídia que esteja sendo exibida no telefone. Sempre que uma fala é detectada, as legendas são exibidas sem precisar de abrir nenhum outro aplicativo. Ele funciona inclusive sem conexão à internet. Pode ser útil não somente para pessoas com algum tipo de perda auditiva, mas também para casos onde não é possível reproduzir áudio, seja por causa do ambiente ou por causa de algum possível problema com o seu telefone.&lt;br&gt;
O &lt;em&gt;Live Relay&lt;/em&gt; veio para ajudar as pessoas que têm alguma limitação auditiva ou de fala a se comunicarem através de uma chamada de voz. Ele usa o reconhecimento de fala do aparelho telefônico e a conversão em texto, permitindo que o telefone ouça e fale em nome dos usuários enquanto eles digitam. Oferecendo respostas instantâneas e sugestões preditivas, o Smart Compose e o Smart Reply ajudam a conversa a ser mais fluida. O Live Relay ainda está em fase de desenvolvimento e testes.&lt;br&gt;
O &lt;em&gt;Live Transcribe&lt;/em&gt; ajuda pessoas com perda auditiva a entender o que está sendo falado ao seu redor. Basta aproximar o aparelho telefônico com o software aberto perto da conversa, para que o aparelho capture o áudio e o transforme em texto em tempo real. Essa ferramenta já está disponível com mais de 70 idiomas e já está disponível para Android.&lt;br&gt;
O &lt;em&gt;Projeto Diva&lt;/em&gt; é uma ferramenta assistiva que irá ajudar pessoas com limitações de fala ou mobilidade reduzida a usar o Google Assistant sem precisar de usar a voz. Essa ferramenta pode ser programada para receber diversos comandos ativados através de botões físicos, trazendo um grande ganho para o usuário.&lt;br&gt;
O &lt;em&gt;Projeto Euphonia&lt;/em&gt; é uma ferramenta de reconhecimento de fala que pode ser ensinada a forma singular como alguém se comunica, desde algum comprometimento da fala, espasmos nas cordas vocais, gagueira, até pessoas não verbais que se comunicam com expressões faciais. Um cientista da Google, que é surdo, ajudou a desenvolver o projeto que utiliza o Google Transcribe. Ele registrou mais de 15.000 frases para ensinar a ferramenta. A Google está buscando mais pessoas para enviar amostras de voz.&lt;/p&gt;
&lt;h1&gt;
  
  
  Como aplicar a meu site?
&lt;/h1&gt;

&lt;p&gt;Existem alguns passos que podemos seguir para garantir a acessibilidade do nosso site:&lt;/p&gt;
&lt;h2&gt;
  
  
  Alternativa textual
&lt;/h2&gt;

&lt;p&gt;Ao disponibilizar um arquivo multimídia, é sempre importante garantir que todos possam ter acesso ao seu conteúdo, incluindo pessoas com deficiência visual e as com deficiência auditiva. Para vídeos que não possuem faixa de áudio é necessário fornecer alternativa em texto, ou seja, disponibilizar, junto ao vídeo, um arquivo para download ou um link para a transcrição textual. Para imagens podemos usar o alt do HTML&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--70642e_y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8r69sb4ct8eiufnhaulx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--70642e_y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8r69sb4ct8eiufnhaulx.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;img src="gatinho.jpg" alt="filhote de gato brincando com joaninha"&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Imagens decorativas
&lt;/h2&gt;

&lt;p&gt;As imagens decorativas devem ser ignoradas pelos recursos de tecnologia assistiva se não há conteúdo a ser transmitido. A recomendação é a inserção de todas as imagens decorativas através das folhas de estilo (CSS).&lt;br&gt;
Não use o alt se aquela mídia não for relevante para o entendimento do conteúdo da página.&lt;/p&gt;

&lt;h2&gt;
  
  
  Navegação pelo teclado
&lt;/h2&gt;

&lt;p&gt;Toda funcionalidade e conteúdo do site deve ser operável pelo uso do teclado. Isso não deve impedir a entrada de dados por meio do mouse ou por outros métodos de interação do usuário com o conteúdo do site.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ajude a pessoa usuária a navegar
&lt;/h2&gt;

&lt;p&gt;Coloque títulos nas páginas e organize o conteúdo em uma sequência lógica. Outra forma de ajudar o usuário a navegar é deixar a opção "avance para o conteúdo principal" no topo da página.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hierarquia de cabeçalhos
&lt;/h2&gt;

&lt;p&gt;Existe a possibilidade de navegar entre cabeçalhos, de maneira hierárquica. Ou seja, se eu estou navegando entre H1, eu posso a qualquer momento querer varrer entre os cabeçalhos H2 filhos daquele H1 e depois nos H3 filhos de um determinado H2 (desde que o site esteja corretamente estruturado) e assim por diante.&lt;br&gt;
Para isso acontecer, devemos definir de maneira correta esses cabeçalhos, pois além de serem extremamente relevantes, melhoram a navegabilidade por leitores de tela.&lt;br&gt;
O H1 normalmente é utilizado como cabeçalho principal, não se repetindo numa mesma página.&lt;/p&gt;

&lt;h2&gt;
  
  
  Estrutura de formulários
&lt;/h2&gt;

&lt;p&gt;Por envolver a interação do visitante, seja para acesso restrito de determinada área, ou envio de informações privadas, os formulários devem possibilitar o acesso às informações durante o preenchimento não apenas para leitores de tela, mas por pessoas que utilizam navegadores gráficos.&lt;br&gt;
Alguns elementos são básicos para a construção de um formulário, como:&lt;br&gt;
FORM: o container do formulário;&lt;br&gt;
INPUT: especifica os tipos de campos presentes (text, submit, button, radio button e checkbox, por exemplo);&lt;br&gt;
TEXTAREA: campo de texto multi-linha, como observações e comentários;&lt;br&gt;
SELECT: Utilizado para listas selecionáveis (como um menu);&lt;br&gt;
BUTTON: Utilizado para botões.&lt;/p&gt;

&lt;p&gt;Para formulários acessíveis, deve-se atentar aos seguintes elementos: Label, FIELDSET, LEGEND e OPTGROUP.&lt;br&gt;
(Web Para Todos)&lt;/p&gt;

&lt;h2&gt;
  
  
  Links e atalhos de navegação
&lt;/h2&gt;

&lt;p&gt;Os links de uma página devem ser navegáveis por teclado. O atributo tabindex permite definir essa ordem dentro de um HTML linear, com uma ordem lógica de navegação.&lt;/p&gt;

&lt;h2&gt;
  
  
  Não se baseie somente em cores
&lt;/h2&gt;

&lt;p&gt;Pessoas com algum tipo de daltonismo não irão conseguir ter a mesma experiência se você se basear somente em cores para, por exemplo, fazer a validação de um formulário. Usar também ícones como um check ou um x pode fazer toda a diferença.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CNKHF4w_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sozl5prj0ezdsluph0ig.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CNKHF4w_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sozl5prj0ezdsluph0ig.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tempo
&lt;/h2&gt;

&lt;p&gt;Dê a pessoa usuária tempo suficiente para ler e utilizar todo o conteúdo do site. Evite reloads automáticos se não forem extremamente necessários.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multimídia
&lt;/h2&gt;

&lt;p&gt;Não projete conteúdo de uma forma conhecida por causar ataques epiléticos. Cuidado com as imagens e cores piscantes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Legibilidade
&lt;/h2&gt;

&lt;p&gt;Torne todo o conteúdo de texto legível e compreensível. Faça com que as páginas da web apareçam e funcionem de modo previsível. É importante também ajudar o usuário a evitar e corrigir erros usando uma linguagem compreensível para todos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Maximize a compatibilidade com tecnologias assertivas
&lt;/h2&gt;

&lt;p&gt;Algumas ferramentas assistivas, como um mouse que pode ser utilizado com os pés pode custar R$999,00. O valor de um teclado em braille pode ser de até R$17.900,00. É importante maximizar a compatibilidade, pois é frustrante para um usuário que tem acesso a tais ferramentas não conseguir utilizar seu site.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meu site está acessível?
&lt;/h2&gt;

&lt;p&gt;Existe uma lista de perguntas que podem ser feitas por você mesmo durante o desenvolvimento para garantir a acessibilidade do seu site:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ele pode ser lido tanto em PCs quanto em dispositivos móveis?&lt;/li&gt;
&lt;li&gt;Ele conta com textos e áudios descritivos?&lt;/li&gt;
&lt;li&gt;As letras e imagens são grandes?&lt;/li&gt;
&lt;li&gt;Ele tem efeitos luminosos moderados?&lt;/li&gt;
&lt;li&gt;O site tem um mapa?&lt;/li&gt;
&lt;li&gt;Os formulários são acessíveis?&lt;/li&gt;
&lt;li&gt;Você fez uma verificação em programas automatizados?&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Ferramentas
&lt;/h1&gt;

&lt;p&gt;No mercado não faltam ferramentas que facilitam a melhoria da acessibilidade em nossas aplicações, a seguir teremos algumas opções que foram selecionadas para esse artigo, mas não se limite a elas, procure sempre a que lhe atender melhor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Leitor de tela
&lt;/h2&gt;

&lt;p&gt;Há uma vasta quantidade de leitores de tela disponíveis, basta uma pesquisada rápida na internet. Todos têm o mesmo objetivo, para escolher basta testar e ver qual lhe atende melhor. Alguns exemplos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JAWS for Windows&lt;/li&gt;
&lt;li&gt;DOSVOX&lt;/li&gt;
&lt;li&gt;Virtual Vision&lt;/li&gt;
&lt;li&gt;NVDA&lt;/li&gt;
&lt;li&gt;Leitor Selecção (Texto-para-Voz)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Ferramentas online
&lt;/h2&gt;

&lt;p&gt;Alguns sites automatizam o teste de acessibilidade, para isso basta inserir a URL no campo de texto que os sites a seguir lhe mostrarão a completude da sua acessibilidade em porcentagem e lhe mostrarão também quais foram os erros encontrados no seu sistema e, em alguns casos, é possível ver também como corrigi-los.&lt;br&gt;
&lt;a href="https://www.webaccessibility.com/"&gt;Web Accessibility&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.cynthiasays.com/"&gt;Cynthia Says&lt;/a&gt;&lt;br&gt;
&lt;a href="http://asesweb.governoeletronico.gov.br/"&gt;ASES&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Layout
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://color.a11y.com/Contrast/"&gt;Color Contrast Accessibility Validator&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Essa ferramenta captura todas as palavras do site e compara-as com o seu background, fazendo uma análise do contraste do seu site e te dizendo até como melhorá-lo. Por exemplo, em um fundo laranja com letra branca, o site mostra a frase que ele está analisando, as propriedades daquela fonte (tamanho, estilo, espessura) e te mostra o que é preciso fazer para deixar aquela parte acessível.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lowvision.support/"&gt;Low Vision&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Essa ferramenta permite simular algumas condições de visão como catarata e daltonismo. Com ela você consegue navegar por todo o site com a mesma experiência uma pessoa com alguma dessas condições teria.&lt;/p&gt;

&lt;h2&gt;
  
  
  Desenvolvimento
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Muhnad/a11y-checker"&gt;A11y checker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É uma ferramenta que você inclui no seu código e no console do navegador você consegue ver os erros de acessibilidade que ela identificar. Alguns dos erros que a ferramenta consegue cobrir são: falta de doctype, falta de título, mais de uma incidência da tag H1, botão sem texto, imagem sem alt…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/marketplace/accesslint"&gt;AccessLint&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É um bot que você coloca no seu projeto do Github que ele faz basicamente os mesmos checks que o a11y checker, a cada nova versão do HTML que você sobe para o Github o bot verifica todo o código em busca de possíveis problemas. Esse bot já mostra também como corrigir os problemas.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusão
&lt;/h1&gt;

&lt;p&gt;Procure tornar seu site o mais acessível possível para que mais pessoas consigam consumir seu conteúdo com uma excelente experiência. Acessibilidade é LOVE.&lt;/p&gt;

&lt;h1&gt;
  
  
  Referências
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://nacoesunidas.org/acao/pessoas-com-deficiencia/"&gt;https://nacoesunidas.org/acao/pessoas-com-deficiencia/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.w3c.br/pub/Materiais/PublicacoesW3C/cartilha-w3cbr-acessibilidade-web-fasciculo-I.html"&gt;https://www.w3c.br/pub/Materiais/PublicacoesW3C/cartilha-w3cbr-acessibilidade-web-fasciculo-I.html&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.planalto.gov.br/ccivil_03/_ato2007-2010/2009/decreto/d6949.htm"&gt;http://www.planalto.gov.br/ccivil_03/_ato2007-2010/2009/decreto/d6949.htm&lt;/a&gt;&lt;br&gt;
&lt;a href="http://mwpt.com.br/acessibilidade-digital/boas-praticas/"&gt;http://mwpt.com.br/acessibilidade-digital/boas-praticas/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.maujor.com/w3c/tec_css_acess.html"&gt;https://www.maujor.com/w3c/tec_css_acess.html&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.w3.org/standards/webdesign/accessibility"&gt;https://www.w3.org/standards/webdesign/accessibility&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mwpt.com.br/acessibilidade-digital/site-acessivel/"&gt;https://mwpt.com.br/acessibilidade-digital/site-acessivel/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/paypal/AATT"&gt;https://github.com/paypal/AATT&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.levelaccess.com/solutions/software/access-alchemy/"&gt;https://www.levelaccess.com/solutions/software/access-alchemy/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.toptal.com/designers/colorfilter"&gt;https://www.toptal.com/designers/colorfilter&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.508checker.com/check"&gt;http://www.508checker.com/check&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tawdis.net/proj#c1"&gt;https://www.tawdis.net/proj#c1&lt;/a&gt;&lt;/p&gt;

</description>
      <category>a11y</category>
    </item>
  </channel>
</rss>
