2016-11-06 3 views
0

Я получаю эту ошибкуОшибка проверки на Nu HTML Checker: «Плохое значение для атрибута для ввода элемента».

Error: Bad value radio for attribute type on element input.

при попытке проверить следующий HTML на https://validator.w3.org/nu/#file

<fieldset> 
<p class="city" id="citypref">Generally, I would prefer to live in...</p> 
<br> 
<label for="la" id="laLabel"> 
<br> 
<input type="radio" name="city" id="la" value="la" aria-required="false" aria-labelledby="laLabel" role="radiogroup" >Los Angeles, California</label> 
<br> 
<label for="boston" id="bostonLabel"> 
<input type="radio" name="city" id="boston" value="boston" aria-required="false" aria-labelledby="bostonLabel" role="radiogroup" >Boston, Massachusetts</label> 
<br> 
<label for="both" id="bothLabel"> 
<input type="radio" name="city" id="both" value="both" aria-required="false" aria-labelledby="bothLabel" role="radiogroup" >Both</label> 
<br> 
<label for="neither" id="neitherLabel"> 
<input type="radio" name="city" id="neither" value="neither" aria-required="false" aria-labelledby="neitherLabel" role="radiogroup" >Neither</label> 
<br> 
</fieldset> 

Любые советы?

ответ

0

Кажется, что https://validator.w3.org/ еще не оборудован следующими кодами:

aria-required="false" 
aria-labelledby="neitherLabel" 
role="radiogroup" 

Как только вы удалите их, ваш код будет проходить без каких-либо проблем.

Сайт W3 предоставил примеры использования предыдущих 3 кодов на этой странице: https://www.w3.org/TR/WCAG20-TECHS/ARIA2.html. Это один из примеров, которые они обеспечивают:

<form action="#" method="post" id="alerts1"> 
<label for="acctnum" data-required="true">Account Number</label> 
<input size="12" type="text" id="acctnum" 
    aria-required="true" name="acctnum" /> 

<p id="radio_label" data-required="true">Please send an alert when balance exceeds $3,000.</p> 

<ul id="rg" role="radiogroup" aria-required="true" aria-labelledby="radio_label"> 
<li id="rb1" role="radio">Yes</li> 
<li id="rb2" role="radio">No</li> 
</ul> 
</form> 

Когда я скопировал свои собственные example и вставить его на свой валидатор, он не прошел, и дал мне такое же сообщение об ошибке, что вы получаете.

Поэтому я предлагаю обратиться к ним напрямую, чтобы задать им , чтобы добавить предыдущие 3 кода в свою базу данных валидатора в качестве действительного использования.

Update:

Заканчивать ответ Стива разъяснений.

+0

@sideshowbarker Спасибо за обратную связь, что о '' ul' и li' теги? Валидатор, похоже, не принимает его в моем эксперименте. – Ibrahim

+0

См. Пересмотренный ответ Стива: ARIA в HTML [запрещает 'role =" radiogroup "' for 'ul'] (https://www.w3.org/TR/html-aria/#ul) и [запрещает' role = " радио "' for 'li'] (https://www.w3.org/TR/html-aria/#li). Так что [этот пример в документе * Методы для документа WCAG 2.0] (https://www.w3.org/TR/WCAG20-TECHS/ARIA2.html#ARIA2-ex3) неверен - это ошибка в * Методах для WCAG 2.0 * doc. Единственным нормативным (официальным/официальным) источником правил использования ARIA в HTML является фактическая спецификация [ARIA in HTML] (https://www.w3.org/TR/html-aria). Любые примеры в другом месте должны быть проверены на соответствие правилам этой спецификации. – sideshowbarker

5

It seems that https://validator.w3.org/ is not yet equipped with the following codes

Он реализует требования к соответствию для использования ВСС в HTML, определенных в https://www.w3.org/TR/html-aria/ которые prohibits role=radiogroup on input type="radio". Он определяет, каковы действительные значения роли для всех элементов. Нет input элементов позволяют role="radio". Только role="menuitemradio" разрешено для input type="radio".

Другой ответ неправильно предложен ul role="radiogroup" и li role="radio". Но ARIA в HTML prohibits role="radiogroup" for ul и prohibits role="radio" for li.

Обратите внимание, что в ARIA 1.1 есть некоторые роли и атрибуты свойств, которые валидатор не распознает. Это работает.

Если у вас есть проблемы с w3c валидатор предлагают filing an issue