Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WAI-ARIA - Acessibilidade nas interações de página

Diego Eis
November 18, 2013

WAI-ARIA - Acessibilidade nas interações de página

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.

Veja um artigo completo neste link:
http://tableless.com.br/wai-aria-estendendo-o-significado-das-interacoes/

Diego Eis

November 18, 2013
Tweet

More Decks by Diego Eis

Other Decks in Technology

Transcript

  1. NOVAS TAGS DO HTML5 As novas tags do HTML5 ajudaram

    a externar a semântica dos elementos.
  2. Olá, eu me chamo Diego Eis, sou brasileiro, trabalho na

    Locaweb como Coordenador do Time de Front-end. Tenho um website chamado Tableless e você pode entrar em contato comigo pelo email [email protected]. name jobTitle URL worksFor email nacionality
  3. MAS E AS INTERAÇÕES Como você avisa para um leitor

    de tela ou outros meios de acesso sobre as interações que acontecem na tela? ! Por exemplo: uma modal abrindo, validações de formulários, submenu, tabs, collapse etc…
  4. ABSTRACT Para definição de conceitos gerais. Não devemos usar para

    marcar conteúdo. WIDGET Para elementos de interface soltos, como caixas de alerta, botões, checkbox, links, tabs etc. DOCUMENT STRUCTURE Para estruturas de organização da página. Estruturas que não são interativas. LANDMARK Pra regiões de páginas que são pontos importantes para onde o usuário navegaria, por exemplo: buscas, main, sidebar, formulários etc…
  5. <ul> <li id="tab1"> <a href=“#”>Primeira Aba</a> </li> </ul> <ul role="tablist">

    <li id="tab1" role="tab" aria-selected="true"> <a href=“#”>Primeira Aba</a> </li> </ul> <div role="tabpanel" aria-labelledby="tab1"> <p>Conteúdo, my friend…</p> </div>
  6. <nav role="navigation"> ! ! ! ! ! </nav> ! !

    <li role="menuitem"> <a href=“#”>Primeira Aba</a> </li> ! ! <ul role="menubar"> ! ! ! </ul>
  7. STATES AND PROPERTIES Muitas vezes precisamos customizar formulários ou outros

    elementos com algum código que não é o padrão. Por exemplo, customizar checkboxes ou radio buttons. Quando isso acontece, precisamos indicar que estes elementos devem ter o mesmo peso de significado dos elementos originais.
  8. <div role="radiogroup"> <span role="radio" aria-checked=“unchecked"> Option Unchecked </span> ! <span

    role="radio" aria-checked=“checked"> Option Checked </span> </div>
  9. <div class="collapse"> <h1>Um exemplo simples com texto</h1> <p>…</p> ! <div

    class="collapse-box" aria-expanded=“true”> … </div> </div>
  10. <ul> <li aria-haspopup=“true"> <a href="#">Mensagens</a> <ul> <li><a href="#">Enviar</a></li> <li><a href="#">Criar</a></li>

    <li><a href="#">Editar</a></li> <li><a href="#">Relatórios</a></li> </ul> </li> </ul>
  11. USE SEMPRE AS TAGS APROPRIADAS Não substitua a semântica natural

    dos elementos. ! Eu sei que WAI-ARIA é muito, muito bom. Mas não prefira usá- las ao invés de usar os elementos padrão do HTML. Eles trazem mais semântica do que elementos neutros usando WAI-ARIA.
  12. INTERAÇÃO COM O TECLADO Todas as interações com WAI-ARIA devem

    ser usadas via teclado. ! Todos os "widgets" devem responder aos comandos e combinações padrão de teclas dos sistemas operacionais. Por exemplo, se você desenha um botão com uma tag span e coloca um role=“button”, este elemento deve trabalhar como um botão, ou seja, se o usuário der foco a este elemento e apertar ENTER, o botão deve agir.
  13. INSERINDO WAI-ARIA VIA JAVASCRIPT Prefira colocar estes atributos via Javascript.

    Não há problema algum fazer dessa forma. ! Por outro lado, se você sabe que o seu público usa Javascript desabilitado (o que é muito, muito difícil), prefira colocar diretamente no código HTML
  14. ENTÃO, FECHOU! A palestra vai ficar aqui: slideshare.net/diegoeis ! @diegoeis

    @tableless tableless.com.br ! bit.ly/locawebstyle