--- title: itemprop slug: Web/HTML/Global_attributes/itemprop tags: - Attribut - Attribut universel - HTML - Micro-données - Microdata translation_of: Web/HTML/Global_attributes/itemprop original_slug: Web/HTML/Attributs_universels/itemprop --- {{HTMLSidebar("Global_attributes")}} L'[attribut universel](/fr/docs/Web/HTML/Attributs_universels) **`itemprop`** 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 attribut `itemprop` 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 une **propriété** et un groupe de propriété forme un **objet (_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 {{HTMLElement("audio")}}, {{HTMLElement("embed")}}, {{HTMLElement("iframe")}}, {{HTMLElement("img")}}, {{HTMLElement("link")}}, {{HTMLElement("object")}}, {{HTMLElement("source")}} , {{HTMLElement("track")}} et {{HTMLElement("video")}}. ### Un exemple simple #### HTML ```html

Avatar

Director: James Cameron (born August 16, 1954) Science fiction Trailer
``` #### Structure de données
  Objet
Nom pour itemprop Valeur pour itemprop
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 {{HTMLElement("a")}} et avec son attribut `href`. Pour un élément {{HTMLElement("img")}}, on lira son attribut `src`, 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 ```html

My name is Neil.

My band is called Four Parts Water.

I am British.

``` ### Une propriété « image » dont la valeur est une URL ```html
Google
``` ### Une propriété dont la valeur est un identifiant « machine » ```html

The Instigator 2000

``` Lorsqu'une chaîne est décrite avec un format machine plutôt qu'un format « humain », on la propriété est exprimée avec la valeur de l'attribut `value` de l'élément {{HTMLElement("data")}} et c'est le contenu de l'élément qui fournira la valeur humainement compréhensible. ### Un exemple de mesure ```html
Panasonic White 60L Refrigerator
Rated 3.5/5 (based on 11 customer reviews)
``` Pour les données numériques, on peut utiliser l'élément {{HTMLElement("meter")}} et la valeur de son attribut `value`. ### Une propriété de date ```html
I was born on .
``` Pour les valeurs temporelles, on utilisera les éléments {{HTMLElement("time")}} et son attribut `datetime`. ### Imbrication de propriétés ```html

Name: Amanda

Band: Jazz Band (12 players)

``` On peut avoir des imbrications de propriétés et utiliser l'attribut `itemscope` sur l'élément qui porte le groupe. L'élément de plus haut niveau possède deux propriétés `name` et `band`. La valeur de `name` est Amanda et la valeur de ` ban``d ` est un objet à part entière, composé de deux propriétés `name` et `size`. Le valeur pour `name` est Jazz Band et la valeur de `size` est 12. L'objet de plus haut niveau est un objet qui ne fait pas partie d'un autre objet. ### Séparation des objets ```html

Name: Amanda

Band: Jazz Band

Size: 12 players

``` On obtient le même résultat qu'avec l'exemple précédent. Le premier objet possède deux propriétés `name` (qui vaut Amanda) et `band` qui est défini avec un autre objet. Le deuxième objet possède deux propriétés `name` (qui vaut Jazz Band) et `size` (qui vaut 12). ### Un objet avec plusieurs occurrences d'une propriété ```html

Flavors in my favorite ice cream:

``` 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 ```html
orange
``` On peut définir deux propriétés au même endroit si elles prennent la même valeur. ### Équivalence sémantique ```html
The Castle (1986)
``` ```html
The Castle (1986)
``` 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 pour itemprop valeur pour itemprop
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. 1. Si un objet est un objet typé, il doit être : 1. Un nom de propriété autorisé par la spécification qui définit les types pertinents pour un objet ou 2. Une URL valide qui est une URL absolue qui définit un nom faisant partie de la spécification du vocabulaire ou 3. Une URL valide qui est une URL absolue utilisée comme un nom propriétaire ou 2. Si un objet n'est pas un objet typé, le nom doit être : 1. 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 est **l'objet** créé par l'élément. - Si l'élément est un élément **`meta` :** - La valeur est celle de l'attribut **`content`** s'il existe, la chaîne vide sinon. - Si l'élément est **`audio`**, **`embed`**, **`iframe`**, **`img`**, **`source`**, **`track`** ou **`video` :** - La valeur est l'URL correspondant à l'analyse de l'attribut `src` relatif 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. - Si l'élément est un élément **`a`**, **`area`** ou **`link` :** - La valeur est l'URL qui correspond à l'analyse de la valeur de l'attribut `href` relatif 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. - Si l'élément est un élément **`object` :** - La valeur est l'URL qui correspond à l'analyse de la valeur de l'attribut `data` relatif 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. - Si l'élément est un élément **`data` :** - La valeur est la valeur l'attribut `value` s'il est présent ou la chaîne vide sinon. - Si l'élément est un élément **`meter` :** - La valeur est la valeur l'attribut `value` s'il est présent ou la chaîne vide sinon. - Si l'élément est un élément **`time` :** - La valeur de l'élément est la valeur de l'attribut **`datetime`**. 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`** et **`video`**. ### 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 ```html

1

2

test

``` ```html

test

1

2

``` ```html

1

test

2

``` ```html

1

test

2

``` ## Syntaxe ### Syntaxe formelle itemprop = "name", value ## Exemples ### HTML Un exemple sur un livre qu'on décrit avec les différents attributs. ```html
Title
The Reality Dysfunction
Author
Publication date
``` ## Spécifications | Spécification | État | Commentaires | | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ------------ | | {{SpecName('HTML Microdata', "#dfn-attr-itemprop", "itemprop")}} | {{Spec2('HTML Microdata')}} |   | | {{SpecName('HTML WHATWG', "microdata.html#names:-the-itemprop-attribute", "itemprop")}} | {{Spec2('HTML WHATWG')}} |   | ## Compatibilité des navigateurs {{Compat("html.global_attributes.itemprop")}} ## Voir aussi - [Les différents attributs universels](/fr/docs/Web/HTML/Attributs_universels) - Les autres attributs universels relatifs aux microdonnées : - {{htmlattrxref("itemid")}} - {{htmlattrxref("itemprop")}} - {{htmlattrxref("itemref")}} - {{htmlattrxref("itemscope")}} - {{htmlattrxref("itemtype")}}