Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 739605 of Usando o atributo aria-labelledby

  • Slug da revisão: Web/Accessibility/ARIA/ARIA_Techniques/Usando_o_atributo_aria-labelledby
  • Título da revisão: Usando o atributo aria-labelledby
  • ID da revisão: 739605
  • Criado:
  • Criador: eduardojmatos
  • É a revisão atual? Não
  • Comentar I fixed some styles in description of examples. We must apply in EN-US version.

Conteúdo da revisão

Descrição

Essa técnica demonstra como usar o atributo aria-labelledby.

O atributo aria-labelledby é usado para indicar os IDs de elementos que são os rótulos para o objeto. É usado para estabelecer uma relação entre widgets ou grupos e suas labels. Usuários de tecnologias assistivas como leitores de telas navegam tipicamente uma página através de TABs entre as áreas da tela. Se uma label não está associada com um elemento input, widget ou grupo, não será legível por leitor de tela.

aria-labelledby é muito similar ao aria-describedby: uma label descreve a essência de um objeto, enquanto uma descrição prove mais informação que o usuário pode precisar.

O atributo aria-labelledby não é usado somente para elementos de formulário; é também usado para associar texto estático com widgets, grupos de elementos, painéis, regiões que tem um cabeçalho, definições e mais. A seção {{ anch("Exemplos") }} abaixo fornece mais informação sobre como usar os atibutos nesses casos.

aria-labelledby pode ser usadas em conjunto com o elemento {{ HTMLElement("label") }} (usando o atributo for) para melhorar a compatibilidade com user agents que não suportam ainda ARIA.

Esse atributo pode ser usando com qualquer elemento HTML de formulário; não é limitado a elementos que tem uma role ARIA atribuída.

Value

Uma lista separadas por espaço de IDs do elemento

Possíveis efeitos em user agents e tecnologias assistivas 

Quando ambos aria-labelledby e aria-label são usados, user agents dão precedência ao aria-labelledby quando computam o nome da propriedade acessível.

Nota: Opinões podem diferir em como as tecnologias assistivas devem manipular essa técnica. A informação fornecida acima é uma dessas opiniões e portanto não normativa.

Exemplos

Exemplo 1: Múltiplas Labels

No exemplo abaixo, cada campo input é rotulado por ambos tanto por seu próprio rótulo individual como para o rótulo para o grupo:

<div id="billing">Endereço de Cobrança</div>

<div>
    <div id="name">Nome</div>
    <input type="text" aria-labelledby="name billing"/>
</div>
<div>
    <div id="address">Endereço</div>
    <input type="text" aria-labelledby="address billing"/>
</div>

Exemplo 2: Associando Cabeçalhos com Regiões

No exemplo abaixo, elementos de cabeçalho estão associados com o conteúdo que eles seguem. Note que a região sendo referenciada é a que contem o cabeçalho.

<div role="main" aria-labelledby="foo">
   <h1 id="foo">Incêndios selvagens se espalham por San Diego Hills</h1>
   Fortes ventos expandem o fogo inflamado pelas altas temperaturas ...
</div>

Exemplo 3: Radio Groups

No exemplo abaixo,  o container de um radiogroup  é associado com suas labels usando o atributo aria-labelledby:

<div id="radio_label">Meu radio label</div>
<ul role="radiogroup" aria-labelledby="radio_label">
    <li role="radio">Item #1</li>
    <li role="radio">Item #2</li>
    <li role="radio">Item #3</li>
</ul>

Exemplo 4: Dialog Label

No exemplo abaixo, o elemento cabeçalho que rotula o dialog é referenciado pelo atributo aria-labelledby:

<div role="dialog" aria-labelledby="dialogheader">
    <h2 id="dialogheader">Escolha um Arquivo</h2>
    ... Conteúdo do Dialog
</div>

Exemplo 5: Definição Inline

No exemplo abaixo, a definição de um termo que é descrita no fluso natural da narrativa é associada com o próprio termo usando o atributo aria-labelledby:

<p>O médico explicou que tinha sido um <dfn id="placebo">placebo</dfn>, ou <span role="definition" aria-labelledby="placebo">ou a uma preparação mais inerte prescrito para o alívio mental do paciente do que por seu efeito real sobre um distúrbio.</span>
</p>

Exemplo 6: Definições de Listas

No exemplo abaixo, as definições numa lista formal de definições são associadas com os termos que eles definem usando o atributo aria-labelledby:

<dl>
    <dt id="anathema">anátema</dt>
    <dd role="definition" aria-labelledby="anathema">uma proibição ou maldição solenemente pronunciada pela autoridade eclesiástica
                                                     e acompanhada por excomunhão</dd>
    <dd role="definition" aria-labelledby="anathema">uma vigorosa denúncia: cursor</dd>

    <dt id="homily">homilia</dt>
    <dd role="definition" aria-labelledby="homily">um usualmente sermão curto</dd>
    <dd role="definition" aria-labelledby="homily">uma leitura ou discurso sobre ou de um tema moral</dd>

</dl>

Exemplo 7: Menus

No exemplo abaixo, um menu popup é associado com sua label usando o atributo aria-labelledby:

<div role="menubar">
    <div role="menuitem" aria-haspopup="true" id="fileMenu">Arquivo</div>
    <div role="menu" aria-labelledby="fileMenu">
        <div role="menuitem">Abrir</div>
        <div role="menuitem">Salvar</div>
        <div role="menuitem">Salvar como ...</div>
        ...
    </div>
    ...
</div>

Exemplos Funcionais:

Notas 

O mais comum mapeamento de uma API de acessibilidade  para um rótulo é a propriedade acessível name

Usado pelas regras ARIA

todos os elementos de markup base

Compatibilidade

TBD: Adicionar informação de suporte para combinações de produto UA e AT

Recursos Adicionais

Fonte da revisão

<h3 id="Descri.C3.A7.C3.A3o">Descrição</h3>

<p>Essa técnica demonstra como usar o atributo&nbsp;<a class="external" href="https://www.w3.org/TR/wai-aria/states_and_properties#aria-labelledby" rel="external" target="_blank" title="https://www.w3.org/TR/wai-aria/states_and_properties#aria-labelledby"><code>aria-labelledby</code></a>.</p>

<p>O atributo&nbsp;<code>aria-labelledby</code>&nbsp;é usado para indicar os IDs de elementos que são os rótulos para o objeto. É usado para estabelecer uma relação entre widgets ou grupos e suas&nbsp;labels. Usuários de tecnologias assistivas como leitores de telas navegam tipicamente uma página através de TABs entre as áreas da tela. Se uma label não está associada com um elemento input, widget ou grupo, não será legível por leitor de tela.</p>

<p><code>aria-labelledby</code>&nbsp;é muito similar ao&nbsp;<a href="/en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute" title="en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute">aria-describedby</a>: uma label descreve a essência de um objeto, enquanto uma descrição prove mais informação que o usuário pode precisar.</p>

<p>O atributo&nbsp;<code>aria-labelledby</code> não é usado somente para elementos de formulário; é também usado para associar texto estático com widgets, grupos de elementos, painéis, regiões que tem um cabeçalho, definições e mais. A seção {{ anch("Exemplos") }} abaixo fornece mais informação sobre como usar os atibutos nesses casos.</p>

<p><code>aria-labelledby</code>&nbsp;pode ser usadas em conjunto com o elemento {{ HTMLElement("label") }} (usando o atributo&nbsp;<code style="font-style: normal;">for</code>) para melhorar a compatibilidade com user agents que não suportam ainda ARIA.</p>

<p>Esse atributo pode ser usando com qualquer elemento HTML de formulário; não é limitado a elementos que tem uma&nbsp;<span style="font-family: Consolas, Monaco, 'Andale Mono', monospace;">role</span>&nbsp;ARIA atribuída.</p>

<h3 id="Value">Value</h3>

<p>Uma lista separadas por espaço de IDs do elemento</p>

<h3 id="Poss.C3.ADveis_efeitos_em_user_agents_e_tecnologias_assistivas">Possíveis efeitos em user agents e tecnologias assistivas&nbsp;</h3>

<p>Quando ambos&nbsp;<code>aria-labelledby</code> e <a href="/en/ARIA/ARIA_Techniques/Using_the_aria-label_attribute" title="Using the aria-labelledby attribute"><code>aria-label</code></a>&nbsp;são usados, user agents dão precedência ao&nbsp;<code>aria-labelledby</code>&nbsp;quando computam o nome da propriedade acessível.</p>

<div class="note"><strong>Nota:</strong>&nbsp;Opinões podem diferir em como as tecnologias assistivas devem manipular essa técnica. A informação fornecida acima é uma dessas opiniões e portanto não normativa.</div>

<h3 id="Exemplos">Exemplos</h3>

<h4 id="Exemplo_1.3A_M.C3.BAltiplas_Labels">Exemplo&nbsp;1: Múltiplas Labels</h4>

<p>No exemplo abaixo, cada campo input é rotulado por ambos tanto por seu próprio rótulo individual como para o rótulo para o grupo:</p>

<pre class="brush: html">
&lt;div id="billing"&gt;Endereço de Cobrança&lt;/div&gt;

&lt;div&gt;
    &lt;div id="name"&gt;Nome&lt;/div&gt;
    &lt;input type="text" aria-labelledby="name billing"/&gt;
&lt;/div&gt;
&lt;div&gt;
    &lt;div id="address"&gt;Endereço&lt;/div&gt;
    &lt;input type="text" aria-labelledby="address billing"/&gt;
&lt;/div&gt;
</pre>

<h4 id="Exemplo_2.3A_Associando_Cabe.C3.A7alhos_com_Regi.C3.B5es">Exemplo&nbsp;2: Associando Cabeçalhos com Regiões</h4>

<p>No exemplo abaixo, elementos de cabeçalho estão associados com o conteúdo que eles seguem. Note que a região sendo referenciada é a que <em>contem</em> o cabeçalho.</p>

<pre class="brush: html">
&lt;div role="main" aria-labelledby="foo"&gt;
   &lt;h1 id="foo"&gt;Incêndios selvagens se espalham por San Diego Hills&lt;/h1&gt;
   Fortes ventos expandem o fogo inflamado pelas altas temperaturas ...
&lt;/div&gt;
</pre>

<h4 id="Exemplo_3.3A_Radio_Groups">Exemplo&nbsp;3: Radio Groups</h4>

<p>No exemplo abaixo, &nbsp;o container de um&nbsp;<a href="/en/Accessibility/ARIA/ARIA_Techniques/Using_the_radiogroup_role" title="Using the alert role">radiogroup</a>&nbsp; é associado com suas labels usando o atributo&nbsp;<code>aria-labelledby</code>:</p>

<pre class="brush: html">
&lt;div id="radio_label"&gt;Meu radio label&lt;/div&gt;
&lt;ul role="radiogroup" aria-labelledby="radio_label"&gt;
    &lt;li role="radio"&gt;Item #1&lt;/li&gt;
    &lt;li role="radio"&gt;Item #2&lt;/li&gt;
    &lt;li role="radio"&gt;Item #3&lt;/li&gt;
&lt;/ul&gt;
</pre>

<h4 id="Exemplo_4.3A_Dialog_Label">Exemplo 4: Dialog Label</h4>

<p>No exemplo abaixo, o elemento cabeçalho que rotula o <em>dialog</em>&nbsp;é referenciado pelo atributo&nbsp;<code>aria-labelledby</code>:</p>

<pre class="brush: html">
&lt;div role="dialog" aria-labelledby="dialogheader"&gt;
    &lt;h2 id="dialogheader"&gt;Escolha um Arquivo&lt;/h2&gt;
    ... Conteúdo do Dialog
&lt;/div&gt;
</pre>

<h4 id="Example_5.3A_Inline_Definition">Exemplo 5: Definição Inline</h4>

<p>No exemplo abaixo, a definição de um termo que é descrita no fluso natural da narrativa é associada com o próprio termo usando o atributo&nbsp;<code>aria-labelledby</code>:</p>

<pre class="brush: html">
&lt;p&gt;O médico explicou que tinha sido um &lt;dfn id="placebo"&gt;placebo&lt;/dfn&gt;, ou &lt;span role="definition" aria-labelledby="placebo"&gt;ou a uma preparação mais inerte prescrito para o alívio mental do paciente do que por seu efeito real sobre um distúrbio.&lt;/span&gt;
&lt;/p&gt;
</pre>

<h4 id="Example_6.3A_Definition_Lists">Exemplo&nbsp;6: Definições de Listas</h4>

<p>No exemplo abaixo, as definições numa lista formal de definições são associadas com os&nbsp;termos que eles definem usando o atributo&nbsp;<code>aria-labelledby</code>:</p>

<pre class="brush: html">
&lt;dl&gt;
    &lt;dt id="anathema"&gt;anátema&lt;/dt&gt;
    &lt;dd role="definition" aria-labelledby="anathema"&gt;uma proibição ou maldição solenemente pronunciada pela autoridade eclesiástica
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e acompanhada por excomunhão&lt;/dd&gt;
    &lt;dd role="definition" aria-labelledby="anathema"&gt;uma vigorosa denúncia: cursor&lt;/dd&gt;

    &lt;dt id="homily"&gt;homilia&lt;/dt&gt;
    &lt;dd role="definition" aria-labelledby="homily"&gt;um usualmente sermão curto&lt;/dd&gt;
    &lt;dd role="definition" aria-labelledby="homily"&gt;uma leitura ou discurso sobre ou de um tema moral&lt;/dd&gt;

&lt;/dl&gt;
</pre>

<h4 id="Example_7.3A_Menus">Exemplo 7: Menus</h4>

<p>No exemplo abaixo, um <a href="/en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-haspopup_attribute" title="Using the aria-required attribute">menu popup</a>&nbsp;é associado com sua label usando o atributo&nbsp;<code>aria-labelledby</code>:</p>

<pre class="brush: html">
&lt;div role="menubar"&gt;
    &lt;div role="menuitem" aria-haspopup="true" id="fileMenu"&gt;Arquivo&lt;/div&gt;
    &lt;div role="menu" aria-labelledby="fileMenu"&gt;
        &lt;div role="menuitem"&gt;Abrir&lt;/div&gt;
        &lt;div role="menuitem"&gt;Salvar&lt;/div&gt;
        &lt;div role="menuitem"&gt;Salvar como ...&lt;/div&gt;
        ...
    &lt;/div&gt;
    ...
&lt;/div&gt;
</pre>

<h4 id="Working_Examples.3A">Exemplos Funcionais:</h4>

<ul>
 <li><a class="external" href="https://www.oaa-accessibility.org/examplep/button2/" title="https://www.oaa-accessibility.org/examplep/button2/">Exemplo de um button</a>&nbsp;usando&nbsp;<code>aria-labelledby</code></li>
 <li><a class="external" href="https://www.oaa-accessibility.org/examplep/combobox1/" title="https://www.oaa-accessibility.org/examplep/combobox1/">Exemplo de um combobox</a>&nbsp;usando&nbsp;<code>aria-labelledby</code></li>
</ul>

<h3 id="Notes">Notas&nbsp;</h3>

<p>O mais comum mapeamento de uma
 <i>API de acessibilidade</i>
 &nbsp;para um rótulo é a propriedade acessível <em>name</em></p>

<h3 id="Used_by_ARIA_roles">Usado pelas regras ARIA</h3>

<p>todos os elementos de markup base</p>

<h3 id="Related_ARIA_techniques">Técnicas ARIA relacionadas</h3>

<ul>
 <li><a href="/en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute" title="en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute">Usando o atributo&nbsp;aria-label</a></li>
 <li><a href="/en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute" title="en/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute">Usando o atributo aria-describedby</a></li>
</ul>

<h3 id="Compatibility">Compatibilidade</h3>

<p class="comment">TBD: Adicionar informação de suporte para combinações de produto&nbsp;UA e AT</p>

<h3 id="Additional_resources">Recursos Adicionais</h3>

<ul>
 <li><a class="external" href="https://www.w3.org/TR/wai-aria/states_and_properties#aria-labelledby" title="https://www.w3.org/TR/wai-aria/states_and_properties#aria-labelledby">Especificação WAI-ARIA para aria-labelledby</a></li>
</ul>
Reverter para esta revisão