<portal> : l'élément de portail
L'élément HTML <portal>
permet d'embarquer une autre page HTML à l'intérieur de la page courante afin de permettre une navigation plus souple vers de nouvelles pages.
Un élément <portal>
est semblable à un élément <iframe>
. Un élément <iframe>
permet d'embarquer un contexte de navigation séparé. Toutefois, le contenu embarqué dans un élément <portal>
est plus limité que celui embarqué dans un élément <iframe>
. En effet, on ne peut pas interagir avec et il ne permet donc pas d'embarquer des éléments d'interface utilisateur. <portal>
agit comme la prévisualisation du contenu de l'autre page et on peut s'en servir pour naviguer jusqu'à cette page, ce qui permet une transition douce vers le contenu embarqué.
Rôle ARIA implicite | button |
---|---|
Interface DOM | HTMLPortalElement |
Attributs
Cet élément utilise les attributs universels.
referrerpolicy
-
Voir la page de l'en-tête
Referrer-Policy
pour les valeurs. La valeur utilisée sera fournie lors de la requête vers la page située à l'URL fournie par l'attributsrc
. src
-
L'URL de la page à embarquer.
Exemples
Exemple simple
L'exemple suivant embarque le contenu de https://example.com
pour le prévisualiser.
<portal id="exempleportal" src="https://example.com/"></portal>
Accessibilité
La prévisualisation fournie par <portal>
n'est pas interactive et ne peut donc pas recevoir d'évènements de saisie ou le focus. Aussi, les contenus embarqués via le portail ne sont pas exposés comme des éléments de l'arbre d'accessibilité. Il est possible de naviguer vers le portail ou de l'activer comme pour un bouton. Le comportement par défaut du portail, lorsqu'on clique dessus, est de s'activer.
Par défaut, les portails reçoivent un libellé par défaut qui est le titre de la page embarquée. Si aucun titre n'est présent, le texte visible dans la prévisualisation est concaténé afin de créer un libellé. L'attribut aria-label
peut être utilisé afin de surcharger ce comportement.
Les portails utilisés à des seules fins de prérendu devraient être masqués avec l'attribut HTML hidden
ou avec la propriété CSS display
valant none
.
Lorsqu'on utilise des animations pour l'activation du portail, la caractéristique média prefers-reduced-motion
devrait être respectée.
Spécifications
Specification |
---|
Portals # the-portal-element |
Compatibilité des navigateurs
BCD tables only load in the browser