identical-iframes-same-purpose
Frames mit demselben Namen betten dieselbe Ressource ein
Prüft, dass <iframe>/<frame>-Elemente mit gleichem zugänglichem Namen dieselbe Ressource einbetten, da ein Name nur eine Ressource beschreiben kann.
Anwendbarkeit. Gilt für jede Gruppe von zwei oder mehr <iframe>/<frame>-Elementen, die im Accessibility Tree enthalten sind und denselben nicht leeren zugänglichen Namen haben, verglichen mit zusammengefasstem Leerraum. Ein Frame, der nur über einen Mechanismus benannt ist, der nichts benennt, oder der im Accessibility Tree ausgeblendet ist, gehört zu keiner Gruppe; eine Gruppe existiert überhaupt erst mit zwei verbleibenden Mitgliedern.
Erwartung. Jeder Frame einer Gruppe wird zur selben Ressource aufgelöst. Ein gemeinsamer Name beschreibt eine Ressource, daher müssen zwei Frames mit diesem Namen dieselbe einbetten.
Was ein Befund meldet.
name: der zugängliche Name, den die Frames teilen.resource: die Adresse, die dieser Frame einbettet, als absolute URL ohne Fragment. Leer (null), wenn sich seinsrcnicht auflösen ließ (IFRAME_RESOURCE_UNRESOLVED).setSize: wie viele Frames den Namen teilen.
Diese Felder in data.details helfen, einen Befund zu lesen und zu reproduzieren. Außer reasonCode und den wenigen Feldern, die Ausgabeschema als stabil nennt, sind sie kein stabiler Vertrag: Ein Feld kann in einer Minor-Version umbenannt werden oder wegfallen, bauen Sie also nicht darauf auf.
Beispiele
<iframe title="Weather widget" src="https://example.test/weather"></iframe><iframe title="Weather widget" src="https://example.test/weather"></iframe>
Beide Frames haben den Namen „Weather widget“ und betten dieselbe Ressource ein.
<iframe title="Weather widget" src="https://example.test/weather?city=nyc"></iframe><iframe title="Weather widget" src="https://example.test/weather?city=sf"></iframe>
Beide Frames haben denselben Namen, werden aber zu unterschiedlichen Ressourcen aufgelöst – möglicherweise zwei berechtigterweise gleichwertige Widgets, möglicherweise ein falsch beschrifteter Frame; das Markup allein klärt das nicht.
So prüfen Sie es
Wenn diese Regel nicht entscheiden kann, meldet sie cantTell und überlässt die Frage einer Person. Jede Frage, die sie stellen kann, steht hier unter ihrem Reason-Code, mit den Schritten, um sie zu beantworten. Ein Befund enthält dieselben Schritte in howToCheck, in der Sprache des Scans. Siehe Ausgabeschema.
IFRAME_RESOURCE_DIFFERS
- Suchen Sie die im Bericht genannten Frames und notieren Sie den gemeinsamen zugänglichen Namen (meist ihren title).
- Sehen Sie sich an, was jeder Frame zeigt, und seine src-Adresse.
- Entscheiden Sie, ob sie dieselbe Aufgabe erfüllen (dieselbe Karte oder dasselbe Widget, nur mit anderen Tracking-Parametern) oder unterschiedliche (zwei verschiedene Videos).
Bestanden. Die Frames dienen demselben Zweck, daher ist ein gemeinsamer Name in Ordnung.
Nicht bestanden. Die Frames betten unter demselben Namen unterschiedliche Inhalte ein (etwa zwei verschiedene Videos, beide mit dem Titel „YouTube video player“), sodass Nutzende sie nicht unterscheiden können; das verstößt gegen WCAG 4.1.2 (ACT 4b1c6c).
IFRAME_RESOURCE_UNRESOLVED
- Suchen Sie die im Bericht genannten Frames und notieren Sie den gemeinsamen zugänglichen Namen.
- Scrollen Sie jeden Frame in den sichtbaren Bereich, damit verzögert geladene Inhalte geladen werden, und untersuchen Sie dann sein src, data-src oder srcdoc.
- Vergleichen Sie, was jeder Frame zeigt, und entscheiden Sie, ob sie dieselbe Aufgabe erfüllen.
Bestanden. Die Frames dienen demselben Zweck, daher ist ein gemeinsamer Name in Ordnung.
Nicht bestanden. Die Frames zeigen unter demselben Namen unterschiedliche Inhalte, sodass Nutzende sie nicht unterscheiden können; das verstößt gegen WCAG 4.1.2 (ACT 4b1c6c).