как сделать собственную атрибуту w3 действительной? - PullRequest
2 голосов
/ 08 марта 2012

У меня есть следующий код, который используется для открытия меню через привязку учетной записи:

echo "<li><a href='./account/' data-flexmenu='account'>Account"</a></li>";

data-flexmenu='account' сообщает, какое меню должно отображаться, в этом случае, меню учетной записи.

Проблема в том, что я получаю ошибку на валидаторе w3: there is no attribute "data-flexmenu"

Есть ли способ сделать это действительным?

Ответы [ 2 ]

4 голосов
/ 15 марта 2012

Я бы не слишком беспокоился о проверке. Я думаю, что проверенный HTML важен, но если ваш код работает во всех браузерах и все еще не проверяет, какой смысл? Пользовательские атрибуты будут работать во всех браузерах, даже в Internet Explorer 6 . Пользовательские атрибуты также могут быть проанализированы Javascript, и нет необходимости в том, чтобы тип документа HTML5 мог это делать.

Есть замечательная статья Николаса Закаса, в которой он объясняет значение проверки с использованием пользовательских атрибутов в качестве примера. Смотри http://www.nczonline.net/blog/2010/08/17/the-value-of-html-validation/

0 голосов
/ 14 марта 2012

Ваш текущий тип документа не допускает атрибут data-flexmenu.Либо удалите этот атрибут, либо переключитесь на тип документа HTML5.

В HTML5 data-flexmenu должно быть допустимым.Вы можете определить тип документа HTML5, как в этом примере :

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>This is a HTML5 Doctype</title>
</head>
<body>
    <ul>
        <li><a href='./account/' data-flexmenu='account'>Account"</a></li>
    <ul>
</body>
</html>

Где это тип документа HTML5 :

<!DOCTYPE html>

Вы можететакже определите кодировку следующим образом, если вы хотите, чтобы он был короче :

<meta charset="utf-8">

И определите язык вашего документа следующим образом:

<html lang="en">

Можно сделать документ HTML5 еще короче, но вы найдете много информации об этом.

...