@@Felix Riesterer
ich habe mir diese Antwort nocheinmal durchgesehen, um zu prüfen, was eine zugängliche Bedienung alles erfordert. Nun bin ich mir nicht mehr so sicher, ob Deine Vorschläge unbedingt die besten sind.
Du begehst erneut denselben Fehler, den du schon beim Vergleich der Komplexität unserer JavaScript-Codes begangen hattest: Du schiebst „alles“ der Zugänglichkeit zu. In Wirklichkeit ist vieles davon aber für progressive enhancement und hat nichts mit Barrierefreiheit (im engeren Sinn, s.u.) zu tun.
Der Inhalt könnte in einem Button bestehen, der als Eingabewerkzeug dafür dient, dass der Spieler, der gerade an der Reihe ist, dieses Feld belegen möchte.
Also: Ein Button in jedes Tabellenfeld. Nur einer.
„Das Mindest-Markup“, das sagte ich doch.
Dazu fragen wir uns, was denn die Gundfunktionalität ist: Ganz einfach die Auswahl von Kreuz oder Kreis in jedem Feld.
Nein. Das ist nicht die Grundfunktionalität. Diese besteht in der Auswahl eines der noch freien Felder. Der Benutzer wählt keinesfalls zwischen Kreuz und Kreis! Das würde sich mit der Spielmechanik stören, da dann eine Mehrfacheingabe denkbar wäre, welche gegen die Spielregel verstößt, dass die Spieler im Wechsel jeweils ein Feld für sich in Anspruch nehmen.
Grundfunktionalität ist für mich, was sich mit einfachsten Mitteln umsetzen lässt. Und das ist eben ein Tic-Tac-Toe nur mit HTML – bei dem die Spieler freilich selbst aufpassen müssen, wer am Zug ist und dass derjenige seine eigene Marke in ein Feld setzt. 🐕
Das müssen die Spieler beim Spielen auf Papier doch auch. Es besteht kein Zwang, dass die Grundfunktionalität beim Spiel auf dem Computer mehr bieten müsste.
Eine solche Auswahl müsste man aufwendig wieder kompensieren, damit der aktuelle Spieler nur "sein" Symbol benutzen kann.
Das wäre bei mir dann progressive enhancement – eine Erweiterung der Grundfunktionalität.
Dieselbe Logik muss bei einer nur mit JavaScript spielbaren Implementation ja auch vorhanden sein – nur fehlt dann o.g. Grundfunktionalität.
Aber das passende UI-Element zur Auswahl ist ein Drop-Down-Menü. Das Innere der Tabellenzellen wäre
Finde ich nicht.
Ja ja, schon gut. Zwei Radiobuttons sind besser. ;-)
Hier (erst!!) kommt nun JavaScript ins Spiel.
Finde ich nicht. JavaScript sollte das Spielfeld bereits erstellen. JavaScript kann einen Button ins Dokument pflanzen, der das Erstellen des Spielfeldes verursacht. Ohne JavaScript sollte ja auch keine Tabelle zu sehen sein.
Aber warum denn nicht? Die Grundfunktionalität funktioniert (bei entsprechenden UI-Elementen) doch auch ohne JavaScript.
Findest Du nicht, dass mein Vorschlag mit nur einem Button hier ebenso zugänglich
Ja, wenn du „zugänglich“ im engeren Sinn meinst, also zugänglich auch bspw. für Blinde. Siehe oben.
Nein für „zugänglich“ im erweiterten Sinn. Im erweiterten Sinn zugänglich heißt zugänglich für alle ohne spezielle Anforderungen, also zugänglich bspw. auch ohne JavaScript.
aber technisch simpler
Vielleicht etwas. Aber auch nicht wesentlich.
und von daher sinnvoller ist?
Das hängt davon ab, was man als sinnvoll erachtet. Wenn man es sinnvoll findet, Anfängern ohne Blick zur Seite JavaScript einzuflößen, mag ein Nur-JavaScript-Tic-Tac-Toe dafür passend sein.
Wenn man es sinnvoll findet, Anfängern auch auf den Weg zu geben, wozu man JavaScript verwenden kann und wofür man es nicht verwenden sollte und was alles auch ohne JavaScript geht, dann halte ich das progressively enhanced Tic-Tac-Toe für angebrachter.
Ich finde nicht, dass eine JavaScript-freie Lösung in ein JavaScript-Tutorial sollte.
Ich finde, doch! Weil ich die Erfahrung gemacht habe, dass Leute auf alles mit JavaScript drauflos ballern, weil sie außer JavaScript nichts anderes gelernt haben. Traurige Wirklichkeit.
(An der Stelle sei mir noch ein Verweis auf diesen Tweet von Heydon gestattet. Ich weiß, du stehst darauf. ;-))
Wie ich sagte: Barrierefreiheit muss im Artikel mit vermittelt werden, progressive enhancement sollte im Artikel mit vermittelt werden.
„Die Entscheidung, ob progressive enhancement in den Artikel gehört, ist eine technische. Die Entscheidung, ob Barrierefreiheit in den Artikel gehört, ist eine menschliche.“
LLAP 🖖
“There’s no such thing as an ‘average’ user, but there is such a thing as an average developer.” —Vitaly Friedman in Accessibility Matters: Meet Our New Book, “Inclusive Design Patterns”
Selfcode:
sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|