Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
itemprop
L'attribut universelitemprop est utilisé afin d'ajouter des propriétés à un objet. C'est un attribut universel et chaque élément HTML peut donc avoir un attributitemprop qui permettra de former un couple de nom (la valeur de l'attribut) et de valeur (la valeur de l'élément). Chacune de ces paires constitue unepropriété et un groupe de propriété forme unobjet (item). Les valeurs des propriétés sont généralement des chaînes de caractères ou des URL et peuvent être associées à de nombreux éléments comme<audio>,<embed>,<iframe>,<img>,<link>,<object>,<source> ,<track> et<video>.
Dans cet article
Un exemple simple
HTML
<div itemscope itemtype="http://schema.org/Movie"> <h1 itemprop="name">Avatar</h1> <span >Director: <span itemprop="director">James Cameron</span> (born August 16, 1954) </span> <span itemprop="genre">Science fiction</span> <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer" >Trailer</a ></div>Structure de données
| Objet | ||
|---|---|---|
Nom pouritemprop | Valeur pouritemprop | |
itemprop | name | Avatar |
itemprop | director | James Cameron |
itemprop | genre | Science fiction |
itemprop | trailer | ../movies/avatar-theatrical-trailer.html |
Propriétés
Les valeurs des propriétés sont généralement des chaînes de caractères ou des URL. Lorsque c'est une URL, on l'exprime grâce à l'élément<a> et avec son attributhref. Pour un élément<img>, on lira son attributsrc, de même pour les autres éléments HTML qui font appel à d'autres ressources.
Trois propriétés dont les valeurs sont des chaînes simples
<div itemscope> <p>My name is <span itemprop="name">Neil</span>.</p> <p>My band is called <span itemprop="band">Four Parts Water</span>.</p> <p>I am <span itemprop="nationality">British</span>.</p></div>Une propriété « image » dont la valeur est une URL
<div itemscope> <img itemprop="image" src="google-logo.png" alt="Google" /></div>Une propriété dont la valeur est un identifiant « machine »
<h1 itemscope> <data itemprop="product-id" value="9678AOU879">The Instigator 2000</data></h1>Lorsqu'une chaîne est décrite avec un format machine plutôt qu'un format « humain », la propriété est exprimée avec la valeur de l'attributvalue de l'élément<data> et c'est le contenu de l'élément qui fournira la valeur humainement compréhensible.
Un exemple de mesure
<div itemscope itemtype="http://schema.org/Product"> <span itemprop="name"> Panasonic White 60L Refrigerator </span> <img src="panasonic-fridge-60l-white.jpg" alt="" /> <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> <meter itemprop="ratingValue" min="0" value="3.5" max="5"> Rated 3.5/5 </meter> (based on <span itemprop="reviewCount">11</span> customer reviews) </div></div>Pour les données numériques, on peut utiliser l'élément<meter> et la valeur de son attributvalue.
Une propriété de date
<div itemscope> I was born on <time itemprop="birthday" datetime="2009-05-10"> May 10th 2009 </time>.</div>Pour les valeurs temporelles, on utilisera les éléments<time> et son attributdatetime.
Imbrication de propriétés
<div itemscope> <p> Name: <span itemprop="name">Amanda</span> </p> <p> Band: <span itemprop="band" itemscope> <span itemprop="name">Jazz Band</span> (<span itemprop="size">12</span> players) </span> </p></div>On peut avoir des imbrications de propriétés et utiliser l'attributitemscope sur l'élément qui porte le groupe.
L'élément de plus haut niveau possède deux propriétésname etband. La valeur dename est Amanda et la valeur deband est un objet à part entière, composé de deux propriétésname etsize. Le valeur pourname est Jazz Band et la valeur desize est 12. L'objet de plus haut niveau est un objet qui ne fait pas partie d'un autre objet.
Séparation des objets
<div itemscope itemref="a b"></div><p>Name: <span itemprop="name">Amanda</span></p><div itemprop="band" itemscope itemref="c"></div><div> <p>Band: <span itemprop="name">Jazz Band</span></p> <p>Size: <span itemprop="size">12</span> players</p></div>On obtient le même résultat qu'avec l'exemple précédent. Le premier objet possède deux propriétésname (qui vaut Amanda) etband qui est défini avec un autre objet. Le deuxième objet possède deux propriétésname (qui vaut Jazz Band) etsize (qui vaut 12).
Un objet avec plusieurs occurrences d'une propriété
<div itemscope> <p>Flavors in my favorite ice cream:</p> <ul> <li itemprop="flavor">Lemon sorbet</li> <li itemprop="flavor">Apricot sorbet</li> </ul></div>Cet objet possède deux fois la même propriétéflavor, qui prend deux valeurs Lemon sorbet et Apricot sorbet.
Deux propriétés avec la même valeur
<div itemscope> <span itemprop="favorite-color favorite-fruit"> orange </span></div>On peut définir deux propriétés au même endroit si elles prennent la même valeur.
Équivalence sémantique
<figure> <img src="castle.jpeg" /> <figcaption> <span itemscope> <span itemprop="name">The Castle</span> </span> (1986) </figcaption></figure><span itemscope> <meta itemprop="name" content="The Castle" /></span><figure> <img src="castle.jpeg" /> <figcaption>The Castle (1986)</figcaption></figure>Ces deux exemples sont équivalents d'un point de vue sémantique. Tous les deux se composent d'un schéma et d'une légende et tous les deux possèdent un objet avec une propriéténame qui vaut The Castle. Une différence subsiste : si l'utilisateur glisse-dépose l'élément, l'objet sera inclus dans les données. Dans les deux cas, l'image n'est pas associée à l'objet.
Les noms et les valeurs
Une propriété est un ensemble non-ordonné de composants uniques sensibles à la casse qui représentent les paires de noms/valeurs. Les valeur doit avoir au moins composant pour se rattacher à l'objet. Dans le tableau ci-après, chaque cellule correspond à un composant.
Exemples de noms
| Objet | ||
|---|---|---|
nom pouritemprop | valeur pouritemprop | |
itemprop | country | Ireland |
itemprop | Option | 2 |
itemprop | https://www.flickr.com/photos/nlireland/6992065114/ | Ring of Kerry |
itemprop | img | https://www.flickr.com/photos/nlireland/6992065114/ |
itemprop | website | flickr |
itemprop | (token) | (token) |
Les composants sont des chaînes de caractères ou des URL. Un objet est appelé un objet typé si c'est une URL. Les chaînes ne peuvent pas contenir de point ou de deux points.
Si un objet est un objet typé, il doit être :
- Un nom de propriété autorisé par la spécification qui définit les types pertinents pour un objet ou
- Une URL valide qui est une URL absolue qui définit un nom faisant partie de la spécification du vocabulaire ou
- Une URL valide qui est une URL absolue utilisée comme un nom propriétaire ou
Si un objet n'est pas un objet typé, le nom doit être :
- Une chaîne qui ne contient pas de caractères "." (U+002E FULL STOP) ou ":" (U+003A COLON) et qui est utilisée comme un nom « propriétaire » pour la propriété (c'est-à-dire avec un nom qui n'est pas défini dans une spécification publique).
Note :Les caractères « : » sont interdits pour les valeurs qui ne sont pas des URL afin de pouvoir distinguer les URL du reste. Les valeurs avec les caractères « . » sont réservés pour de futurs ajouts et les blancs ne sont pas autorisés car les valeurs seraient analysées comme plusieurs valeurs distinctes.
Valeurs
La valeur d'une propriété est définie comme le premier cas qui correspond dans cette liste :
Si l'élément possède un attribut
itemscope:- La valeur estl'objet créé par l'élément.
Si l'élément est un élément
meta:- La valeur est celle de l'attribut
contents'il existe, la chaîne vide sinon.
- La valeur est celle de l'attribut
Si l'élément est
audio,embed,iframe,img,source,trackouvideo:- La valeur est l'URL correspondant à l'analyse de l'attribut
srcrelatif au nœeud du document ou la chaîne vide s'il n'y pas de tel attribut ou que la recomposition de l'URL échoue.
- La valeur est l'URL correspondant à l'analyse de l'attribut
Si l'élément est un élément
a,areaoulink:- La valeur est l'URL qui correspond à l'analyse de la valeur de l'attribut
hrefrelatif au nœud du document ou la chaîne vide s'il n'y pas de tel attribut ou que la recomposition de l'URL échoue.
- La valeur est l'URL qui correspond à l'analyse de la valeur de l'attribut
Si l'élément est un élément
object:- La valeur est l'URL qui correspond à l'analyse de la valeur de l'attribut
datarelatif au nœud du document ou la chaîne vide s'il n'y pas de tel attribut ou que la recomposition de l'URL échoue.
- La valeur est l'URL qui correspond à l'analyse de la valeur de l'attribut
Si l'élément est un élément
data:- La valeur est la valeur l'attribut
values'il est présent ou la chaîne vide sinon.
- La valeur est la valeur l'attribut
Si l'élément est un élément
meter:- La valeur est la valeur l'attribut
values'il est présent ou la chaîne vide sinon.
- La valeur est la valeur l'attribut
Si l'élément est un élément
time:- La valeur de l'élément est la valeur de l'attribut
datetime.
- La valeur de l'élément est la valeur de l'attribut
Sinon :
- La valeur de l'élément est le contenu textuel de l'élément HTML (
textContent).
Les éléments qui permettent d'utiliser des attributs URL pour des URL absolues sont :a,area,audio,embed,iframe,img,link,object,source,track etvideo.
Ordre des noms
L'ordre des noms n'a pas d'importance mais si une propriété possède plusieurs valeurs, l'ordre sera relatif pour cette propriété.
Exemples équivalents
<div itemscope> <p itemprop="a">1</p> <p itemprop="a">2</p> <p itemprop="b">test</p></div><div itemscope> <p itemprop="b">test</p> <p itemprop="a">1</p> <p itemprop="a">2</p></div><div itemscope> <p itemprop="a">1</p> <p itemprop="b">test</p> <p itemprop="a">2</p></div><div> <p itemprop="a">1</p></div><div itemscope itemref="x"> <p itemprop="b">test</p> <p itemprop="a">2</p></div>Syntaxe
>Syntaxe formelle
itemprop = "name", value
Exemples
>HTML
Un exemple sur un livre qu'on décrit avec les différents attributs.
<dl itemscope itemtype="http://vocab.example.net/book" itemid="urn:isbn:0-330-34032-8"> <dt>Title</dt> <dd itemprop="title">The Reality Dysfunction</dd> <dt>Author</dt> <dd itemprop="author">Peter F. Hamilton</dd> <dt>Publication date</dt> <dd> <time itemprop="pubdate" datetime="1996-01-26"> 26 January 1996 </time> </dd></dl>Spécifications
| Specification |
|---|
| HTML> # names:-the-itemprop-attribute> |
Compatibilité des navigateurs
>Voir aussi
- Les différents attributs universels
- Les autres attributs universels relatifs aux microdonnées :