Aloha ;)
Wenn man also weitgehend abwärtskompatibel sein will, muss man die Kreuze und Kreise sowieso als richtigen Inhalt in die
td
-Elemente setzen.Das halte ich ebenso wie Matthias im vorliegenden Beispiel sowieso für semantisch richtiger.
semantisch? Bei einem Spielfeld? Wollte ich sie bewegen, so wie Spielfiguren in Brettspielen, dann würde ich dafür andere Elemente nutzen. So aber "färbe" (das Beschriften sehe ich als eine abgeleitete Einfärbung an) ich doch nur ein Feld passend ein. Und damit ist es mMn eine Darstellungsfrage, welche wiederum mit CSS gelöst werden sollte.
Meiner Meinung nach ist es allgemein gesprochen ab einem gewissen Punkt (nämlich ab dem, an dem offensichtliche Fehler oder ganz ungünstige Elementwahl erledigt sind) müßig, sich über Semantik weiter den Kopf zu zerbrechen, vor allem wenn es um JavaScript-generierte (dynamische) Inhalte geht.
Im vorliegenden Beispiel wird durch das Setzen der entsprechenden Klasse im HTML/DOM die Änderung auch semantisch wirkungsvoll umgesetzt, im Sinne einer Zugehörigkeitsmarkierung (die von O/X beanspruchten Felder) und damit ist das auch ein sinnvoller Einsatz des class
-Attribut. Theoretisch wäre es besser, wenn der Klassenname etwas deskriptiver wäre (z.B. marked-O
statt O
), gerade in einem Anfängertutorial fällt das dann aber unter KISS.
Die Frage, ob jetzt tatsächlich den Spielstein repräsentierende Elemente zum Einsatz kommen sollten statt reiner Markierung der Zelle ist keinesfalls semantisch, sondern lediglich im Kontext des Modellentwurfs zu sehen, also inwiefern physikalisch-physische Elemente im virtuellen Raum direkt (X bzw. Spielstein tatsächlich in der Zelle) oder nur ihrem Sinn nach (Markierung der Zelle) wiedergegeben werden.
Semantisch müsste man sich eher fragen, ob ein Tic-Tac-Toe-Spielfeld eine Tabelle ist, die tabellarische Daten enthält - mMn nämlich nicht. Korrekter wäre da sicherlich ein div-Container mit span-Elementen, am einfachsten formatiert per flexbox. Aber auch das fällt im Zweifelsfall unter KISS und die meinige oben formulierte Prämisse, dass bei dynamisch generierten/geprägten Inhalten die Semantik eine eher untergeordnete Rolle spielt - schon allein, da Maschinenlesbarkeit im vorliegenden Beispiel kaum (zumindest nicht über das was sowieso schon umgesetzt ist hinaus) relevant ist.
Grüße,
RIDER
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller Erreichbar manchmal im Self-TS (ts.selfhtml.org) oder sonst - wenn online - auf dem eigenen TeamSpeak-Server (fritz.campingrider.de) oder unter: # Facebook # Twitter # Steam # YouTube # Self-Wiki # ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[