Lieber Gunnar,
Du hast erkennbare Fortschritte gemacht. Mit „alle Aspekte“ solltest du aber vorsichtig sein.
g
Es ist nicht geholfen, wenn ein Screenreader „Button wählen Button wählen Button wählen Button wählen Button wählen Button wählen Button wählen Button wählen Button wählen“ vorliest. Die Buttons brauchen eine jeweils eigene Beschriftung:
<tr> <td><button>Feld oben links wählen</button></td> <td><button>Feld oben Mitte wählen</button></td> <td><button>Feld oben rechts wählen</button></td> </tr> <tr> <td><button>Feld Mitte links wählen</button></td> <td><button>Feld Mitte Mitte wählen</button></td> <td><button>Feld Mitte rechts wählen</button></td> </tr> <tr> <td><button>Feld unten links wählen</button></td> <td><button>Feld unten Mitte wählen</button></td> <td><button>Feld unten rechts wählen</button></td> </tr>
Sehr guter Einwand! Das habe ich umgesetzt. Warum wolltest Du das nicht gleich tun?
„Es sieht so aus, als wäre die Doppelung mit dem Tabelleninhalt „x“ und der Klasse x unnötig. […] Um die Doppelung mit gleichlautender Klasse zum Tabelleninhalt kommt man daher nicht herum.“
Das ist eine Lüge-für-Kinder. Es sollte auch mit
<td aria-label="x"></td>
gehen, was Screenreader zufriedenstellen dürfte und auch zum Styling verwendet werden kann.Aber das nur nebenbei. Das soll nicht heißen, dass man das so umsetzen sollte. Gerade in einem Anfängertutorial ist Tabellenzelleninhalt und Klasse wohl eine gute Wahl. Vielleicht einfach die Aussage „um die Doppelung kommt man nicht herum“ entschärfen/weglassen?
Hehe, "Lüge-für-Kinder"... aber so richtig kontern konntest Du dann doch nicht. Deinen Gegenvorschlag mit dem aria-label
-Attribut hast Du ja selbst zurück gezogen. Ist Content denn nicht mehr King? Muss man das, was als Content im Dokument steht, jetzt grundsätzlich und zusätzlich mit aria-
-Attributen auszeichnen?
Der letzte Satz ist jedenfalls gestrichen. Damit sollte die "Lüge-für-Kinder" entfallen.
Nein, das ist fehlerhaftes HTML.
aside
ist hier nicht geeignet, wenn das Tic-Tac-Toe doch der Hauptinhalt der Seite ist.
Wenn, ja wenn dem so ist, dann ja. Aber wissen wir, wie das Spiel von Anfängern eingesetzt werden wird? Vielleicht basteln die eine Seite, auf der es verschiedene Spiele geben wird?
Manchmal ist das geeignete HTML-Element auch ein
div
.
Manchmal, ja. Und hier? Kommt wieder mal wie so oft darauf an...
Ich bin auch nicht sicher, ob
caption
der beste Platz ist, um die Information unterzubringen, welcher Spieler am Zug ist.
Hast Du einen besseren Vorschlag? Nein? Dann bleibt es dabei.
„im gegenwärtigen Zustand kann unser Spiel nicht neu gestartet werden.“
Bei vernünftigem™ Markup mit zwei Radiobuttons (bzw. einem
select
) hat man die Funktion gratis. Das Ganze in einform
-Element, einen Reset-Button rein – fertig.
Das sogenannte vernünftige Markup hat leider mit der Spielmechanik und der dazu notwendigen Benutzerführung nicht das geringste gemeinsam. Das hatte ich schon besprochen. Wir benötigen exakt einen Button, um ein Spiel auszuwählen. Die Spieleridentität muss(!) das Spiel selbst entscheiden.
Deswegen: Nein, keine Banane für Dich.
Irgendwann kommst du noch dahinter, dass progressive enhancement nicht kompliziert und aufwendig ist, sondern im Gegenteil viele Dinge vereinfacht.
Dein Markup-Beispiel konnte mich in dieser Angelegenheit nicht überzeugen. Aber die Sache mit dem Neustart ist inzwischen im Tutorial enthalten. Kannst es ja mal ausprobieren!
Liebe Grüße,
Felix Riesterer.