ElementInternals
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2023 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Die Schnittstelle ElementInternals des Document Object Model ermöglicht es Webentwicklern, benutzerdefinierte Elemente vollständig in HTML-Formulare einzubinden. Sie stellt Hilfsmittel bereit, mit denen sich diese Elemente wie gewöhnliche HTML-Formularelemente verwenden lassen, und macht dem Element außerdem das Accessibility Object Model zugänglich.
Konstruktor
Diese Schnittstelle hat keinen Konstruktor. Beim Aufruf von HTMLElement.attachInternals() wird ein ElementInternals-Objekt zurückgegeben.
Instanzeigenschaften
ElementInternals.shadowRootSchreibgeschützt-
Gibt das diesem Element zugeordnete
ShadowRoot-Objekt zurück. ElementInternals.formSchreibgeschützt-
Gibt das diesem Element zugeordnete
HTMLFormElementzurück. ElementInternals.statesSchreibgeschützt-
Gibt das diesem Element zugeordnete
CustomStateSetzurück. ElementInternals.willValidateSchreibgeschützt-
Ein boolescher Wert, der
truezurückgibt, wenn das Element ein absendbares Element ist, für das eine Einschränkungsvalidierung infrage kommt. ElementInternals.validitySchreibgeschützt-
Gibt ein
ValidityState-Objekt zurück, das die verschiedenen Gültigkeitszustände darstellt, die das Element im Hinblick auf die Einschränkungsvalidierung annehmen kann. ElementInternals.validationMessageSchreibgeschützt-
Eine Zeichenfolge mit der Validierungsmeldung dieses Elements.
ElementInternals.labelsSchreibgeschützt-
Gibt eine
NodeListmit allen diesem Element zugeordneten Label-Elementen zurück.
Von ARIA übernommene Instanzeigenschaften
Die Schnittstelle ElementInternals umfasst außerdem die folgenden Eigenschaften.
Hinweis: Diese Eigenschaften ermöglichen es, für ein benutzerdefiniertes Element standardmäßige Semantiken für die Barrierefreiheit festzulegen. Sie können durch vom Autor definierte Attribute überschrieben werden. Die standardmäßigen Semantiken bleiben jedoch erhalten, wenn der Autor diese Attribute löscht oder gar nicht erst hinzufügt. Weitere Informationen finden Sie in der Erläuterung zum Accessibility Object Model.
ElementInternals.ariaAtomic-
Eine Zeichenfolge, die das Attribut
aria-atomicwiderspiegelt. Dieses gibt an, ob assistive Technologien anhand der durch das Attributaria-relevantfestgelegten Änderungsbenachrichtigungen den gesamten geänderten Bereich oder nur Teile davon wiedergeben. ElementInternals.ariaAutoComplete-
Eine Zeichenfolge, die das Attribut
aria-autocompletewiderspiegelt. Dieses gibt an, ob die Texteingabe die Anzeige einer oder mehrerer Vorhersagen für den beabsichtigten Wert des Benutzers in einer Combobox, einem Suchfeld oder einem Textfeld auslösen kann, und legt fest, wie solche Vorhersagen dargestellt werden. ElementInternals.ariaBrailleLabel-
Eine Zeichenfolge, die das Attribut
aria-braillelabelwiderspiegelt. Dieses definiert die Braille-Beschriftung des Elements. ElementInternals.ariaBrailleRoleDescription-
Eine Zeichenfolge, die das Attribut
aria-brailleroledescriptionwiderspiegelt. Dieses definiert die ARIA-Braille-Rollenbeschreibung des Elements. ElementInternals.ariaBusy-
Eine Zeichenfolge, die das Attribut
aria-busywiderspiegelt. Dieses gibt an, ob ein Element gerade geändert wird, sodass assistive Technologien mit der Darstellung für den Benutzer warten können, bis die Änderungen abgeschlossen sind. ElementInternals.ariaChecked-
Eine Zeichenfolge, die das Attribut
aria-checkedwiderspiegelt. Dieses gibt den aktuellen Auswahlzustand von Kontrollkästchen, Optionsfeldern und anderen Widgets mit einem solchen Zustand an. ElementInternals.ariaColCount-
Eine Zeichenfolge, die das Attribut
aria-colcountwiderspiegelt. Dieses definiert die Anzahl der Spalten in einer Tabelle, einem Grid oder einem Treegrid. ElementInternals.ariaColIndex-
Eine Zeichenfolge, die das Attribut
aria-colindexwiderspiegelt. Dieses definiert den Spaltenindex oder die Position eines Elements bezogen auf die Gesamtzahl der Spalten in einer Tabelle, einem Grid oder einem Treegrid. ElementInternals.ariaColIndexText-
Eine Zeichenfolge, die das Attribut
aria-colindextextwiderspiegelt. Dieses definiert eine für Menschen lesbare Textalternative für aria-colindex. ElementInternals.ariaColSpan-
Eine Zeichenfolge, die das Attribut
aria-colspanwiderspiegelt. Dieses definiert die Anzahl der Spalten, über die sich eine Zelle oder Grid-Zelle in einer Tabelle, einem Grid oder einem Treegrid erstreckt. ElementInternals.ariaCurrent-
Eine Zeichenfolge, die das Attribut
aria-currentwiderspiegelt. Dieses kennzeichnet das Element, das innerhalb eines Containers oder einer Gruppe zusammengehöriger Elemente das aktuelle Element darstellt. ElementInternals.ariaDescription-
Eine Zeichenfolge, die das Attribut
aria-descriptionwiderspiegelt. Dieses definiert einen Zeichenfolgenwert, der das aktuelle ElementInternals-Objekt beschreibt oder mit einer Anmerkung versieht. ElementInternals.ariaDisabled-
Eine Zeichenfolge, die das Attribut
aria-disabledwiderspiegelt. Dieses gibt an, dass das Element wahrnehmbar, aber deaktiviert und daher weder bearbeitbar noch anderweitig bedienbar ist. ElementInternals.ariaExpanded-
Eine Zeichenfolge, die das Attribut
aria-expandedwiderspiegelt. Dieses gibt an, ob ein Gruppierungselement, das zu diesem Element gehört oder von ihm gesteuert wird, ausgeklappt oder eingeklappt ist. ElementInternals.ariaHasPopup-
Eine Zeichenfolge, die das Attribut
aria-haspopupwiderspiegelt. Dieses gibt an, ob ein interaktives Popup-Element, etwa ein Menü oder Dialog, durch ein ElementInternals-Objekt ausgelöst werden kann und um welchen Typ es sich handelt. -
Eine Zeichenfolge, die das Attribut
aria-hiddenwiderspiegelt. Dieses gibt an, ob das Element einer Barrierefreiheits-API zugänglich gemacht wird. ElementInternals.ariaInvalid-
Eine Zeichenfolge, die das Attribut
aria-invalidwiderspiegelt. Dieses gibt an, dass der eingegebene Wert nicht dem von der Anwendung erwarteten Format entspricht. ElementInternals.ariaKeyShortcuts-
Eine Zeichenfolge, die das Attribut
aria-keyshortcutswiderspiegelt. Dieses gibt Tastenkombinationen an, die ein Autor implementiert hat, um ein Objekt zu aktivieren oder den Fokus darauf zu setzen. ElementInternals.ariaLabel-
Eine Zeichenfolge, die das Attribut
aria-labelwiderspiegelt. Dieses definiert einen Zeichenfolgenwert, der das aktuelle Objekt beschriftet. ElementInternals.ariaLevel-
Eine Zeichenfolge, die das Attribut
aria-levelwiderspiegelt. Dieses definiert die Hierarchieebene eines Elements innerhalb einer Struktur. ElementInternals.ariaLive-
Eine Zeichenfolge, die das Attribut
aria-livewiderspiegelt. Dieses gibt an, dass ein Element aktualisiert wird, und beschreibt, welche Arten von Aktualisierungen Benutzeragenten, assistive Technologien und Benutzer in der Live-Region erwarten können. ElementInternals.ariaModal-
Eine Zeichenfolge, die das Attribut
aria-modalwiderspiegelt. Dieses gibt an, ob ein Element bei seiner Anzeige modal ist. ElementInternals.ariaMultiLine-
Eine Zeichenfolge, die das Attribut
aria-multilinewiderspiegelt. Dieses gibt an, ob ein Textfeld eine mehrzeilige oder nur eine einzeilige Eingabe akzeptiert. ElementInternals.ariaMultiSelectable-
Eine Zeichenfolge, die das Attribut
aria-multiselectablewiderspiegelt. Dieses gibt an, dass der Benutzer mehr als ein Element aus den aktuell auswählbaren Nachfahren auswählen kann. ElementInternals.ariaOrientation-
Eine Zeichenfolge, die das Attribut
aria-orientationwiderspiegelt. Dieses gibt an, ob die Ausrichtung des Elements horizontal, vertikal oder unbekannt beziehungsweise mehrdeutig ist. ElementInternals.ariaPlaceholder-
Eine Zeichenfolge, die das Attribut
aria-placeholderwiderspiegelt. Dieses definiert einen kurzen Hinweis, der dem Benutzer bei der Dateneingabe helfen soll, wenn das Steuerelement keinen Wert hat. ElementInternals.ariaPosInSet-
Eine Zeichenfolge, die das Attribut
aria-posinsetwiderspiegelt. Dieses definiert die Nummer oder Position eines Elements innerhalb der aktuellen Gruppe von Listeneinträgen oder Treeitems. ElementInternals.ariaPressed-
Eine Zeichenfolge, die das Attribut
aria-pressedwiderspiegelt. Dieses gibt den aktuellen gedrückten Zustand von Umschaltflächen an. ElementInternals.ariaReadOnly-
Eine Zeichenfolge, die das Attribut
aria-readonlywiderspiegelt. Dieses gibt an, dass das Element nicht bearbeitbar, aber ansonsten bedienbar ist. ElementInternals.ariaRelevant-
Eine Zeichenfolge, die das Attribut
aria-relevantwiderspiegelt. Dieses gibt an, welche Benachrichtigungen der Benutzeragent auslöst, wenn der Barrierefreiheitsbaum innerhalb einer Live-Region geändert wird. Damit wird beschrieben, welche Änderungen in eineraria-live-Region relevant sind und angekündigt werden sollen. ElementInternals.ariaRequired-
Eine Zeichenfolge, die das Attribut
aria-requiredwiderspiegelt. Dieses gibt an, dass für das Element eine Benutzereingabe erforderlich ist, bevor ein Formular abgesendet werden kann. ElementInternals.role-
Eine Zeichenfolge, die eine ARIA-Rolle enthält. Eine vollständige Liste der ARIA-Rollen finden Sie auf der Seite zu ARIA-Techniken.
ElementInternals.ariaRoleDescription-
Eine Zeichenfolge, die das Attribut
aria-roledescriptionwiderspiegelt. Dieses definiert eine für Menschen lesbare, vom Autor lokalisierte Beschreibung der Rolle eines Elements. ElementInternals.ariaRowCount-
Eine Zeichenfolge, die das Attribut
aria-rowcountwiderspiegelt. Dieses definiert die Gesamtzahl der Zeilen in einer Tabelle, einem Grid oder einem Treegrid. ElementInternals.ariaRowIndex-
Eine Zeichenfolge, die das Attribut
aria-rowindexwiderspiegelt. Dieses definiert den Zeilenindex oder die Position eines Elements bezogen auf die Gesamtzahl der Zeilen in einer Tabelle, einem Grid oder einem Treegrid. ElementInternals.ariaRowIndexText-
Eine Zeichenfolge, die das Attribut
aria-rowindextextwiderspiegelt. Dieses definiert eine für Menschen lesbare Textalternative für aria-rowindex. ElementInternals.ariaRowSpan-
Eine Zeichenfolge, die das Attribut
aria-rowspanwiderspiegelt. Dieses definiert die Anzahl der Zeilen, über die sich eine Zelle oder Grid-Zelle in einer Tabelle, einem Grid oder einem Treegrid erstreckt. ElementInternals.ariaSelected-
Eine Zeichenfolge, die das Attribut
aria-selectedwiderspiegelt. Dieses gibt den aktuellen Auswahlzustand von Elementen an, die einen solchen Zustand haben. ElementInternals.ariaSetSize-
Eine Zeichenfolge, die das Attribut
aria-setsizewiderspiegelt. Dieses definiert die Anzahl der Elemente in der aktuellen Gruppe von Listeneinträgen oder Treeitems. ElementInternals.ariaSort-
Eine Zeichenfolge, die das Attribut
aria-sortwiderspiegelt. Dieses gibt an, ob die Einträge in einer Tabelle oder einem Grid aufsteigend oder absteigend sortiert sind. ElementInternals.ariaValueMax-
Eine Zeichenfolge, die das Attribut
aria-valueMaxwiderspiegelt. Dieses definiert den maximal zulässigen Wert für ein Bereichs-Widget. ElementInternals.ariaValueMin-
Eine Zeichenfolge, die das Attribut
aria-valueMinwiderspiegelt. Dieses definiert den minimal zulässigen Wert für ein Bereichs-Widget. ElementInternals.ariaValueNow-
Eine Zeichenfolge, die das Attribut
aria-valueNowwiderspiegelt. Dieses definiert den aktuellen Wert eines Bereichs-Widgets. ElementInternals.ariaValueText-
Eine Zeichenfolge, die das Attribut
aria-valuetextwiderspiegelt. Dieses definiert eine für Menschen lesbare Textalternative zu aria-valuenow für ein Bereichs-Widget.
Instanzeigenschaften, die ARIA-Elementreferenzen widerspiegeln
Diese Eigenschaften spiegeln die Elemente wider, die in den entsprechenden Attributen durch id-Referenzen angegeben sind. Dabei gelten einige Einschränkungen. Weitere Informationen finden Sie unter Gespiegelte Elementreferenzen im Leitfaden Gespiegelte Attribute.
ElementInternals.ariaActiveDescendantElement-
Ein Element, das das aktuell aktive Element darstellt, wenn der Fokus auf einem
composite-Widget, einercombobox, einertextbox, einergroupoder einerapplicationliegt. Spiegelt das Attributaria-activedescendantwider. ElementInternals.ariaControlsElements-
Ein Array von Elementen, deren Inhalt oder Vorhandensein durch das Element gesteuert wird, auf das die Eigenschaft angewendet wird. Spiegelt das Attribut
aria-controlswider. ElementInternals.ariaDescribedByElements-
Ein Array von Elementen, die die barrierefreie Beschreibung für das Element enthalten, auf das die Eigenschaft angewendet wird. Spiegelt das Attribut
aria-describedbywider. ElementInternals.ariaDetailsElements-
Ein Array von Elementen, die barrierefrei zugängliche Details für das Element bereitstellen, auf das die Eigenschaft angewendet wird. Spiegelt das Attribut
aria-detailswider. ElementInternals.ariaErrorMessageElements-
Ein Array von Elementen, die eine Fehlermeldung für das Element bereitstellen, auf das die Eigenschaft angewendet wird. Spiegelt das Attribut
aria-errormessagewider. ElementInternals.ariaFlowToElements-
Ein Array von Elementen, die das nächste Element beziehungsweise die nächsten Elemente in einer alternativen Lesereihenfolge des Inhalts angeben. Diese kann nach Ermessen des Benutzers die allgemeine Standard-Lesereihenfolge ersetzen. Spiegelt das Attribut
aria-flowtowider. ElementInternals.ariaLabelledByElements-
Ein Array von Elementen, die den barrierefreien Namen für das Element bereitstellen, auf das die Eigenschaft angewendet wird. Spiegelt das Attribut
aria-labelledbywider. ElementInternals.ariaOwnsElements-
Ein Array von Elementen, die dem Element gehören, auf das die Eigenschaft angewendet wird. Damit wird eine visuelle, funktionale oder kontextuelle Beziehung zwischen einem Elternelement und seinen Kindelementen definiert, wenn sich diese Beziehung nicht durch die DOM-Hierarchie darstellen lässt. Spiegelt das Attribut
aria-ownswider.
Instanzmethoden
ElementInternals.setFormValue()-
Legt den beim Absenden verwendeten Wert und den Zustand des Elements fest und übermittelt diese an den Benutzeragenten.
ElementInternals.setValidity()-
Legt den Gültigkeitszustand des Elements fest.
ElementInternals.checkValidity()-
Prüft, ob ein Element die für es geltenden Regeln der Einschränkungsvalidierung erfüllt.
ElementInternals.reportValidity()-
Prüft, ob ein Element die für es geltenden Regeln der Einschränkungsvalidierung erfüllt, und sendet außerdem eine Validierungsmeldung an den Benutzeragenten.
Beispiele
Das folgende Beispiel zeigt, wie Sie mit HTMLElement.attachInternals ein benutzerdefiniertes, einem Formular zugeordnetes Element erstellen.
class CustomCheckbox extends HTMLElement {
static formAssociated = true;
constructor() {
super();
this.internals_ = this.attachInternals();
}
// …
}
window.customElements.define("custom-checkbox", CustomCheckbox);
let element = document.createElement("custom-checkbox");
let form = document.createElement("form");
// Append element to form to associate it
form.appendChild(element);
console.log(element.internals_.form);
// expected output: <form><custom-checkbox></custom-checkbox></form>
Spezifikationen
| Spezifikation |
|---|
| HTML> # the-elementinternals-interface> |
Browser-Kompatibilität
Siehe auch
- Leistungsfähigere Formularsteuerelemente auf web.dev (2019)
- Benutzerdefinierte Formularsteuerelemente mit ElementInternals erstellen auf CSS-Tricks (2021)