Se eu tiver uma entrada com seu aria-label
conjunto definido como 1
e um rótulo associado definido como 2
, o que será calculado como rótulo de ária de um elemento, referenciando a entrada?
<input type="radio" id="cpp-search-video-btn" aria-label="1" role="tab">
<label for="cpp-search-video-btn" aria-hidden="true">2</label>
<div id="cpp-search-video-tab" aria-labelledby="cpp-search-video-btn" role="tabpanel">…</div>
Qual é o rótulo da ária div#cpp-search-video-tab
: 1, 2 ou, talvez, não definida? (Quero que seja "1").
Até onde vejo, não há informações sobre substituições no MDN .
A resposta é de fato 1. O atributo aria-labelledby tem prioridade sobre aria-label, que por sua vez tem prioridade sobre
<label>
. Veja MDNEntretanto, se eu puder adicionar outro comentário ao seu código:
Seria melhor evitar usar aria-hidden e ARIA se possível. O código a seguir seria qualitativamente melhor como par da primeira regra do ARIA: não use, a menos que você realmente precise.
Ou talvez pelo menos:
De forma mais geral, se você tem um real
<label>
, não deve haver necessidade de sobrescrevê-lo com aria-label. Caso contrário, não faz muito sentido ter o<label>
em primeiro lugar.Bem, se eu entendi direito e o painel “Acessibilidade” no DevTools mostra o rótulo aria na seção “Propriedades Computadas” → “Nome”, a resposta é “1”.