5568 sujets

Sémantique web et HTML

Pages :
Salut,

je vois pas mal de sites dits "html5" céder à la "mode" des attributs role et en coller un peu partout. Cependant, la spécification html5 définit des roles implicites pour certains éléments. Ainsi, le role implicite de l'élément <article>, et en l'absence d'attribut role, est le role "article". Donc quel est l'intérêt d'indiquer <article role="article"> * ? Il y a redondance d'information.

À moins que ce ne soit pour pallier un manque de support dans les lecteurs d'écran par exemple ?

* Idem pour <body role="document">, <nav role="navigation">, …

edit:

Question annexe : Est-ce que ces deux documents sont strictement identiques d'un point de vue sémantique ?

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Le titre</title>
</head>
<body>
<header role="banner">
	<h1>Titre principal</h1>
	<nav>
		<!-- Liste de liens -->
	</nav>
</header>

<section>
	<!-- code html quelconque -->
	<article>
		<h1>Titre de l'article</h1>
		
		<p>...</p>
		
		<aside>
			<!-- notes -->
		</aside>
	</article>
</section>

<footer role="contentinfo">
	
</footer>

</body>
</html>


et :

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Le titre</title>
</head>
<body>
<div role="banner">
	<h1>Titre principal</h1>
	<div role="navigation">
		<!-- Liste de liens -->
	</div>
</div>

<div role="region">
	<!-- code html quelconque -->
	<div role="article">
		<h1>Titre de l'article</h1>
		
		<p>...</p>
		
		<div role="note">
			<!-- notes -->
		</div>
	</div>
</div>

<div role="contentinfo">
	
</div>

</body>
</html>


Et si c'est le cas, peut-on s'attendre à obtenir la même hiérarchisation de titre dans les deux cas ? (selon l'algorithme défini par html5 s'entend)
Modifié par Bobe (30 Sep 2011 - 20:20)
Certains lecteurs d'écrans ne reconnaissent les éléments qu'avec leurs attributs aria, c'est le cas des articles. Smiley smile
Laurie-Anne a écrit :
En plus : L'élément footer n'est pas sensé avoir de role pour ARIA.

C'est plutôt qu'il n'a pas de rôle ARIA implicite. Une restriction supplémentaire est ajoutée: si on lui attribue un rôle ARIA, ce doit être "contentinfo".

Bobe a écrit :
Est-ce que ces deux documents sont strictement identiques d'un point de vue sémantique ?

Ça dépend pour qui. Smiley cligne
- Pour un User Agent qui implémente HTML4 et ARIA, celui avec des éléments sectionnant HTML5 sans attribut role a une sémantique moins détaillée.
- Pour un User Agent qui implémente HTML4, ARIA et les rôles implicites en HTML5, c'est kif-kif.
- Pour un User Agent qui implémente HTML5 et ARIA, c'est kif-kif pour les rôles mais il y a aura une différence au niveau du plan du document.

Dans l'absolu et en prenant HTML5 comme sémantique de référence, ça sera similaire pour les rôles mais pas pour le plan du document.
Pages :