36
loading...
This website collects cookies to deliver better user experience
<h2 role="tab">tab de cabeçalho</h2>
<div role="tab">
<h2>tab de cabeçalho</h2>
</div>
role="button"
, 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.role="presentation"
ou aria-hidden="true"
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’.display: none
também será removido da árvore de acessibilidade, o que torna desnecessária a adição de aria-hidden="true"
.<label>Insira seu nome</label> <input type="text"/>
<label for="user-name">Insira seu nome</label>
<input type="text" id="user-name"/>
<h1 role=button>text</h1>
<button role="heading" aria-level=1> Texto </button>
role="button"
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.role="presentation"
ou seu sinônimo role="none"
remove a semântica do elemento onde ele está. Por exemplo, esse código:<h1 role="presentation"> Texto </h1>
role="presentation/none"
preservam sua semântica. Por exemplo, esse código:<h1 role="presentation"><abbr> API </abbr></h1>
<ul>
ou <table>
) quaisquer filhos obrigatórios aninhados dentro do primeiro elemento com a role="presentation/none"
também tem a sua semântica removida. Por exemplo, esse código:<table role="presentation">
<tr>
<td>
<abbr> API </abbr>
</td>
</tr>
</table>
role="presentation/none"
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:<table>
<tr>
<td>
<table>
<tr>
<td>
<abbr> API </abbr>
</td>
</tr>
</table>
</td>
</tr>
</table>
aria-label
, aria-labelledby
e aria-describedby
tem um suporte melhor em associar conteúdo de texto a um subconjunto interativo de elementos (por exemplo <div role="main">
ou <main>
). 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 input
e os elementos <aside>
, <footer>
, <article>
, <header>
, <nav>
, <section>
e <main>
.tabindex=-1
.role=application
.role=application
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:text box
(também se aplica a telefone, pesquisa e senha)textarea
checkbox
button
radio button
(normalmente dentro de um fieldset/legend)select + option
link
, paragraphs
, headings
e outros elementos que são clássicos/nativos de documentos webrole=application
se seu widget for de algum dos seguintes tipos mais dinâmicos e não nativos:tree view
slider
table
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, etctab
, tablist
) 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 casodialog
e alertdialog
toolbar
e toolbar buttons
, menus
e menu items
e similaresrole=application
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.role=application
serão muito raras!<div>
superior a seu elemento.role=application
pode ser apropriado. Mesmo assim, verifique se realmente é o caso. Jamais use role=application
em um elemento amplamente contido, como o body
, 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.36