Ashura: JAvaScript oder NEINvaScript?

Beitrag lesen

Hallo Utz.

<a href="..." target="_blank" onclick="window.open(...): return false;">Link</a>
                 ^^^^^^^^^^^^^^^

In einem Thread zum Thema Barrierearmut ist oben markiertes Pfui!

Kann Deine Kritik nicht nachvollziehen - warum sollte target="_blank" diesbezüglich böser[tm] sein als window.open?

Weil man ersteres normalerweise nicht unterbinden kann, zweiteres schon.

Ich kann in meinem Browser JavaScript deaktivieren (was normalerweise der Fall ist) und habe meine Ruhe.

Das „target="_blank"“ dagegen werde ich nur dann los, wenn ich JavaScript aktiviere. Denn nur dann kann mein User-JS im Browser aktiv werden und alle „target="_blank"“ entfernen.

Laut http://www.w3.org/TR/WCAG10/wai-pageauth.html (Punkt 10.1) ist Öffnen eines neuen Fensters mit egal welcher Technik zu vermeiden, Priorität 2. Beschränkt man sich auf Priorität 1 (und das muss man unter den Voraussetzungen des OP) gibt es keine Aussagen dazu, dass eine bestimmte Technik zum Öffnen eines Fensters barrierearmer sei als eine andere.

Generell zu vermeiden ist es allerdings ja. JavaScript bietet in dieser Hinsicht aber eine flexiblere Handhabe und unterbindet nicht die Möglichkeit, einen Link im aktuellen Tab/Fenster zu öffnen.

Beispiel Lightbox: Klicke ich direkt auf die jeweilige Grafik, verrichtet dieses hübsche Script sein Werk. Öffne ich auf der Grafik jedoch das Kontextmenü und wähle dort „Öffnen“, so wird die Grafik direkt im aktuellen Tab geöffnet. Wäre „target="_blank"“ gesetzt, wäre dies nicht ohne weiteres möglich. (Mir ist tatsächlich kein Client bekannt, der eine native nutzerseitige Manipulation der Auswertung von target-Attributen ermöglicht.)

Aus diesem Grund sehe ich die feste Verankerung einer Zielangabe im HTML auch als größeres Übel an, als die Manipulation der Linkfunktion mit Hilfe von JS. (Wohlgemerkt nur dann, wenn der Link auf oben beschriebene Weise mit JS versehen wurde.)

Einen schönen Freitag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]