recursal/MDN huggingface dataset:
Attr.localName
==============

La propriété **`Attr.localName`**, en lecture seule, renvoie la partie locale du nom qualifié d'un élément.

**Note :** Avant DOM4, cette API était définie dans l'interface `Node`.

Syntaxe
-------


```js
name = attribute.localName;
```

### Valeur renvoyée

Une `DOMString` *(chaîne de caractères)* qui représente la partie locale du nom qualifié de l'élément.

Exemple
-------

Cet exemple affiche "id" dans une fenêtre d'alerte.

### Contenu HTML


```html
<button id="exemple">Clique ici</button>
```

### Contenu JavaScript


```js
const element = document.querySelector("#exemple");
element.addEventListener("click", function () {
  const attribute = element.attributes[0];
  alert(attribute.localName);
});
```

Notes
-----

Le nom local d'un attribut est la partie du nom qualifié de cet attribut avant les deux points. les noms qualifiés sont utilisés en XML, dans les espaces de nom de certains documents.

**Note :** dans Gecko 1.9.2 et avant, cette propriété renvoie le nom en majuscule pour les attributs HTML du DOM HTML (contrairement aux atttributs XHTML ). Dans les versions plus récentes, en accord avec HTML5, cette propriété renvoie la casse correspondante au DOM utilisé, c'est-à-dire en minuscule pour les attributs du DOM XHTMl et du DOM HTML.

Spécifications
--------------

| Specification |
| --- |
| DOM Standard # dom-attr-localname |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Attr.namespaceURI`
* `Attr.prefix`
* `Element.localName`
* `Node.localName`
Attr.prefix
===========

La propriété **`Attr.prefix`** en lecture seule renvoie le préfixe de l'espace de noms de l'attribut spécifié ou `null` si aucun préfixe n'est spécifié.

**Note :** Avant DOM4, cette API a été définie dans l'interface `Node`.

Syntaxe
-------


```js
string = attribute.prefix;
```

Exemples
--------

Le code suivant affiche "x" dans la console.


```xml
<div x:id="example" onclick="console.log(this.attributes[0].prefix)"/>
```

Notes
-----

Cela ne fonctionnera que lorsqu'un analyseur conscient de l'espace de noms est utilisé, c'est-à-dire lorsqu'il s'agit d'un document avec un type MIME XML. Cela ne fonctionnera pas pour les documents HTML.

Spécifications
--------------

| Specification |
| --- |
| DOM Standard # dom-attr-prefix |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Attr.namespaceURI`
* `Attr.localName`
* `Element.prefix`
* `Node.prefix`
Attr.namespaceURI
=================

La propriété en lecture seule **`Attr.namespaceURI`** retourne l'URI d'espace de nom de l'attribut, ou `null` si l'élément n'est pas dans un espace de noms.

**Note :** Avant DOM4 cet API était défini dans l'interface `Node`.

Syntaxe
-------


```js
namespace = attribute.namespaceURI;
```

Exemple
-------

Dans cet extrait de code, un attribut est examiné pour son `localName` et son `namespaceURI`. Si le `namespaceURI` renvoie l'espace de noms XUL et le `localName` retourne "browser" (*navigateur*), alors le noeud est compris comme étant un `<browser/>` XUL.


```js
if (
  attribute.localName == "value" &&
  attribute.namespaceURI ==
    "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
) {
  // ceci est une valeur XUL
}
```

Notes
-----

Ce n'est pas une valeur calculée, mais le résultat d'une recherche d'espace de noms basée sur un examen des déclarations d'espace de noms dans la portée. L'URI de l'espace de noms d'un attribut est figé à l'heure de création de l'attribut.

Dans Firefox 3.5 et précédents, l'URI d'espace de nom pour les attributs HTML dans les documents HTML est `null`. Dans les versions ultérieures, en conformité avec HTML5, il est `https://www.w3.org/1999/xhtml` comme dans XHTML.

Vous pouvez créer un attribut avec le `namespaceURI` spécifié en utilisant la méthode de DOM niveau 2 `Element.setAttributeNS`.

Selon la spécification Namespaces en XML, un attribut n'hérite pas de l'espace de noms de l'élément auquel il est attaché. Si un attribut n'est pas explicitement donné à un espace de noms, il n'a pas d'espace de noms.

Le DOM ne gère pas ou n'applique pas la validation de l'espace de noms en soi. Il appartient à l'application DOM de faire toute validation nécessaire. Notez également que le préfixe d'espace de noms, une fois associé à un nœud particulier, ne peut pas être modifié.

Spécifications
--------------

| Specification |
| --- |
| DOM Standard # dom-attr-namespaceuri |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Attr.localName`
* `Attr.prefix`
* `Element.namespaceURI`
* `Node.namespaceURI`
HTMLSelectElement.checkValidity()
=================================

Baseline 2023
-------------

Newly availableSince March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
La méthode **`HTMLSelectElement.checkValidity()`** vérifie si l'élément a des contraintes et s'il les satisfait. Si l'élément ne respecte pas ses contraintes, le navigateur déclenche un évènement `invalid` (en-US) annulable sur l'élément, puis renvoie `false`.

Syntaxe
-------


```js
checkValidity();
```

### Paramètres

Aucun.

### Valeur de retour

Aucun (`undefined`).

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-cva-checkvalidity-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Validation des contraintes (en-US)
HTMLSelectElement.selectedIndex
===============================

**`HTMLSelectElement.selectedIndex`** est un `long` qui représente l'index du premier élément sélectionné `<option>`. La valeur `-1` indique qu'aucun élément est sélectionné.

Syntaxe
-------


```js
var index = selectElem.selectedIndex;
selectElem.selectedIndex = index;
```

Exemple
-------

### HTML


```html
<p id="p">selectedIndex: 0</p>

<select id="select">
  <option selected>Option A</option>
  <option>Option B</option>
  <option>Option C</option>
  <option>Option D</option>
  <option>Option E</option>
</select>
```

### JavaScript


```js
var selectElem = document.getElementById("select");
var pElem = document.getElementById("p");

// Quand une nouvelle <option> est selectionnée
selectElem.addEventListener("change", function () {
  var index = selectElem.selectedIndex;
  // Rapporter cette donnée au <p>
  pElem.innerHTML = "selectedIndex: " + index;
});
```

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-select-selectedindex-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
HTMLSelectElement.setCustomValidity()
=====================================

Baseline 2023
-------------

Newly availableSince March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Learn more
* See full compatibility
* Report feedback
La méthode **`HTMLSelectElement.setCustomValidity()`** définit le message de validation personnalisé de l'élément sélectionné avec le message renseigné. Utiliser une chaîne de caractère vide indique que l'élément *n'a pas* de message d'erreur de validation personnalisé.

Syntaxe
-------


```js
ElmSelectionne.setCustomValidity(message);
```

### Paramètres

* *message* est le `DOMString` contenant le message d'erreur.
Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-cva-setcustomvalidity-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Validation du formulaire (en-US).
HTMLSelectElement.remove()
==========================

La méthode **`HTMLSelectElement.remove()`** enlève l'option à l'index choisi dans la liste des options de cet objet select.

Syntaxe
-------


```js
collection.remove(index);
```

### Paramètre

* *index est* un entier long définissant la position du `HTMLOptionElement` à enlever de la collection. Si rien n'est trouvé à cette position dans la liste, la méthode n'a aucun effet.

Exemple
-------


```js
var sel = document.getElementById("maListe");
sel.remove(1);

/\*
 Prend l'objet select existant suivant :

 <select id="maListe" name="maListe">
 <option value="1">Option: Value 1</option>
 <option value="2">Option: Value 2</option>
 <option value="3">Option: Value 3</option>
 </select>

 Et le transforme en:

 <select id="maListe" name="maListe">
 <option value="1">Option: Value 1</option>
 <option value="3">Option: Value 3</option>
 </select>
\*/
```

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-select-remove |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `ChildNode.remove`, la méthode appelée quand remove est créé sans argument pour un `HTMLSelectElement`.
* `HTMLSelectElement` qui possède cette méthode.
SharedWorker.port
=================

La propriété **`port`** de l'interface `SharedWorker` retourne un objet `MessagePort` (en-US) utilisé pour contrôler et communiquer avec le *worker* partagé.

### Valeur

Un objet `MessagePort` (en-US).

Exemple
-------

L'exemple de code suivant montre la création d'un objet `SharedWorker` à l'aide du constructeur `SharedWorker()`. Plusieurs scripts peuvent accéder au *worker* avec l'objet `MessagePort` (en-US) accessible grâce à la propriété `SharedWorker.port`. Le port est ouvert avec la méthode `start()`.


```js
const myWorker = new SharedWorker("worker.js");
myWorker.port.start();
```


Pour un exemple complet, voir un exemple simple de *worker* partagé (exécuter le *worker* correspondant).

Spécifications
--------------

| Specification |
| --- |
| HTML Standard # dom-sharedworker-port-dev |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `SharedWorker`
PerformanceLongTaskTiming.attribution
=====================================

**Expérimental:** **Cette fonction est expérimentale**  
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.  
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La propriété en lecture seule **`attribution`** de l'interface `PerformanceLongTaskTiming` retourne une séquence d'instances `TaskAttributionTiming` (en-US).

Syntaxe
-------


```js
var taskAttributeTiming = PerformanceLongTaskTiming.attribution;
```

### Valeur

Une séquence d'instances `TaskAttributionTiming` (en-US).

Spécifications
--------------

| Specification |
| --- |
| Long Tasks API # dom-performancelongtasktiming-attribution |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
DeviceMotionEvent.rotationRate
==============================

La propriété **`rotationRate`** renvoie la vitesse de rotation de l'appareil autour de chacun de ses axes en degrés par seconde.

**Note :** Si le matériel n'est pas capable de fournir cette information, la propriété renvoie `null`.

Syntaxe
-------


```js
var rates = instanceOfDeviceMotionEvent.rotationRate;
```

Valeurs
-------

La propriété `rotationRates` est un objet en lecture seule décrivant la vitesse de rotation d'un appareil autour de chacun de ses axes :

`alpha`

La vitesse de rotation de l'appareil sur son axe Z ; c'est-à-dire déplacé autour d'une ligne perpendiculaire à l'écran.

`beta`

La vitesse de rotation de l'appareil sur son axe X ; c'est-à-dire de l'avant vers l'arrière.

`gamma`

La vitesse de rotation de l'appareil sur son axe Y ; c'est-à-dire d'un côté à l'autre.

Spécifications
--------------

| Specification |
| --- |
| DeviceOrientation Event Specification # ref-for-dom-devicemotionevent-rotationrate② |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `DeviceMotionEvent`
* L'évènement `devicemotion`
* L'évènement `deviceorientation`
* `DeviceOrientationEvent`
* Détection de l'orientation de l'appareil (en-US)
* Explication des données d'orientation et de mouvement
DeviceMotionEvent.DeviceMotionEvent()
=====================================

**Non standard:** Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.

Le constructeur **`DeviceMotionEvent`** crée un nouveau `DeviceMotionEvent`.

Syntaxe
-------


```js
var deviceMotionEvent = new DeviceMotionEvent(type[, options])
```

### Paramètres

*type*

Doit être `"devicemotion"`.

*options* Facultatif

Les options sont les suivantes :

* `acceleration` : un objet donnant l'accélération de l'appareil sur les 3 axes X, Y et Z. L'accélération est exprimée en m/s2
2
 .
* `accelerationIncludingGravity` : un objet donnant l'accélération de l'appareil sur les 3 axes X, Y et Z avec l'effet de la gravité. L'accélération est exprimée en m/s2
2
 .
* `rotationRate` : un objet donnant la vitesse de rotation du changement d'orientation de l'appareil sur les axes alpha, beta et gamma. La vitesse de rotation est exprimée en degrés par seconde.
* `interval` : Un nombre représentant l'intervalle de temps, en millisecondes, avant d'obtenir des données à partir de l'appareil.

Spécifications
--------------

| Specification |
| --- |
| DeviceOrientation Event Specification # dom-devicemotionevent-devicemotionevent |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
DeviceMotionEvent.accelerationIncludingGravity
==============================================

La propriété **`accelerationIncludingGravity`** renvoie la valeur d'accélération enregistrée par l'appareil, en mètres par seconde au carré (m/s2). Contrairement à `DeviceMotionEvent.acceleration` (en-US) qui compense pour tenir compte de l'influence de la gravité, sa valeur est la somme de l'accélération de l'appareil induite par l'utilisateur et de celle provoquée par la gravité.

Cette valeur n'est pas aussi utile que `DeviceMotionEvent.acceleration` (en-US), mais elle peut être la seule disponible, par exemple pour un appareil qui ne peut supprimer la gravité des données d'accélération puisqu'il ne l'utilise pas, comme les périphériques sans gyroscope.

Syntaxe
-------


```js
var acceleration = instanceOfDeviceMotionEvent.accelerationIncludingGravity;
```

Valeur
------

La propriété `accelerationIncludingGravity` est un objet fournissant une information sur l'accélération des 3 axes. Pour chacun d'eux, elle est représentée par leur propre propriété :

`x`

Représente l'accélération sur l'axe x qui est l'axe est-ouest.

`y`

Représente l'accélération sur l'axe y qui est l'axe nord-sud

`z`

Représente l'accélération sur l'axe z qui est l'axe haut-bas

Spécifications
--------------

| Specification |
| --- |
| DeviceOrientation Event Specification # ref-for-dom-devicemotionevent-accelerationincludinggravity④ |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `DeviceMotionEvent.acceleration` (en-US)
* L'évènement `devicemotion`
* L'évènement `deviceorientation`
* `DeviceOrientationEvent`
* `Accelerometer` (en-US)
* Détection de l'orientation de l'appareil (en-US)
* Explication des données d'orientation et de mouvement
DeviceMotionEvent.interval
==========================

La propriété **`interval`** renvoie la granularité temporelle, exprimée en millisecondes, avec laquelle les données relatives aux mouvements sont obtenues du matériel.

Syntaxe
-------


```js
var interval = instanceOfDeviceMotionEvent.interval;
```

Spécifications
--------------

| Specification |
| --- |
| DeviceOrientation Event Specification # ref-for-dom-devicemotionevent-interval① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `DeviceMotionEvent`
* L'évènement `devicemotion`
* L'évènement `deviceorientation`
* `DeviceOrientationEvent`
* Détection de l'orientation de l'appareil (en-US)
* Explication des données d'orientation et de mouvement
PerformanceObserver()
=====================

Le constructeur **`PerformanceObserver()`** crée un nouvel objet `PerformanceObserver` avec le `callback` d'observation donné. La fonction de rappel de l'observateur est invoquée lorsque des événements d'entrée de performance sont répertoriés pour les types d'entrées qui ont été enregistrés, via la méthode `observe()`.

Syntaxe
-------


```js
const observer = new PerformanceObserver(callback);
```

### Paramètres

`callback`

Une fonction de rappel qui sera invoquée lorsque des événements de performance *observés* sont enregistrés. Lorsque la fonction de rappel est invoquée, son premier paramètre est une liste des entrées de l'observateur de performance et le second paramètre est l'objet `PerformanceObserver` courant.

### Valeur de retour

Un nouvel objet `PerformanceObserver` qui appellera le `callback` spécifiée lorsque des événements de performance observés se produisent.

Exemple
-------


```js
const observer = new PerformanceObserver(function (list, obj) {
  let entries = list.getEntries();
  for (let i = 0; i < entries.length; i++) {
    // Traiter les événements "mark" et "frame"
  }
});
observer.observe({ entryTypes: ["mark", "frame"] });

function perf\_observer(list, observer) {
  // Traiter l'événement "measure"
}
const observer2 = new PerformanceObserver(perf_observer);
observer2.observe({ entryTypes: ["measure"] });
```

Spécifications
--------------

| Specification |
| --- |
| Performance Timeline # dom-performanceobserver-constructor |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
PerformanceObserver.takeRecords()
=================================

La méthode **`takeRecords()`** de l'interface `PerformanceObserver` renvoie la liste actuelle des entrées de performance stockées dans l'observateur de performance, en la vidant.

Syntaxe
-------


```js
let performanceEntryList = performanceObserver.takeRecords();
```

### Paramètres

Aucun.

### Valeur de retour

Une liste d'objets `PerformanceEntry`.

Exemple
-------


```js
const observer = new PerformanceObserver(function (list, obj) {
  let entries = list.getEntries();
  for (let i = 0; i < entries.length; i++) {
    // Traiter les événements "mark" et "frame"
  }
});
observer.observe({ entryTypes: ["mark", "frame"] });
let records = observer.takeRecords();
console.log(records[0].name);
console.log(records[0].startTime);
console.log(records[0].duration);
```

Spécifications
--------------

| Specification |
| --- |
| Performance Timeline # dom-performanceobserver-takerecords |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
PerformanceObserver.observe()
=============================

La méthode **`observe()`** de l'interface **`PerformanceObserver`** est utilisée pour spécifier l'ensemble des types d'entrée de performance à observer. Les types d'entrée de performance sont spécifiés sous la forme d'un tableau d'objets `DOMString`, chacun nommant un type d'entrée ; les noms de type sont documentés sur la page `PerformanceEntry.entryType`.

Lorsqu'une entrée de performance correspondante est enregistrée, la fonction de rappel de l'observateur de performance — définie lors de la création du `PerformanceObserver` — est invoquée.

Syntaxe
-------


```js
observer.observe(options);
```

### Paramètres

`options`

Un dictionnaire `PerformanceObserverInit` avec les membres possibles suivants :

* `entryTypes` : Un tableau d'objets `DOMString`, chacun spécifiant un type d'entrée de performance à observer. Ne peut pas être utilisé avec les options « `type` » ou « `buffered` ».
* `type` : Une `DOMString` unique spécifiant exactement un type d'entrée de performance à observer. Ne peut pas être utilisé avec l'option `entryTypes`.
* `buffered` : Un indicateur booléen pour indiquer si les entrées en mémoire tampon doivent être mises en file d'attente dans la mémoire tampon de l'observateur. Ne doit être utilisé qu'avec l'option « `type` ».

**Note :** Voir `PerformanceEntry.entryType` pour une liste des noms de types d'entrées de performance valides. Les types non reconnus sont ignorés, bien que le navigateur puisse afficher un message d'avertissement sur la console pour aider les développeurs à déboguer leur code. Si aucun type valide n'est trouvé, `observe()` n'a aucun effet.

Exemple
-------

Cet exemple crée et configure deux `PerformanceObservers` ; l'un surveille les événements `"mark"` et `"frame"`, et l'autre surveille les événements `"measure"`.


```js
const observer = new PerformanceObserver(function (list, obj) {
  let entries = list.getEntries();
  for (let i = 0; i < entries.length; i++) {
    // Traiter les événements "mark" et "famse"
  }
});
observer.observe({ entryTypes: ["mark", "frame"] });

function perf\_observer(list, observer) {
  // Traiter l'événement "measure"
}
const observer2 = new PerformanceObserver(perf_observer);
observer2.observe({ entryTypes: ["measure"] });
```

Spécifications
--------------

| Specification |
| --- |
| Performance Timeline # dom-performanceobserver-observe |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
PeformanceObserver.disconnect()
===============================

La méthode **`disconnect()`** de l'interface `PerformanceObserver` est utilisée pour empêcher l'observateur de performances de recevoir tout événement d'entrée de performance.

Syntaxe
-------


```js
performanceObserver.disconnect();
```

Exemple
-------


```js
const observer = new PerformanceObserver(function (list, obj) {
  let entries = list.getEntries();
  for (let i = 0; i < entries.length; i++) {
    // Traiter les événements "mark" et "frame"
  }
});
observer.observe({ entryTypes: ["mark", "frame"] });

function perf\_observer(list, observer) {
  // Traiter l'événement "measure".
  // ...
  // Désactiver les événements de performance supplémentaires
  observer.disconnect();
}
const observer2 = new PerformanceObserver(perf_observer);
observer2.observe({ entryTypes: ["measure"] });
```

Spécifications
--------------

| Specification |
| --- |
| Performance Timeline # dom-performanceobserver-disconnect |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.