Lowterm: Strukturmarkup

Hallo,

kann bitte jemand erklären, was genau mit "Strukturmarkup" gemeint ist und ob man dies bezüglich der Barrierefreiheit einsetzen darf oder eher nicht. Diesbezüglich finde ich im Netz widersprüchliche aussagen.

Danke im Voraus

  1. Hallo Lowterm,

    In welchem Kontext ist dir der Begriff begegnet?

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Guten Morgen Rolf,

      es geht hauptsächlich um die Barrierefreiheit und wie man eine Seite gestellten soll, um diese z.B. von Screenreadern richtig gelesen werden kann. Nun lese ich, an einer Stelle, dass man z.B. eine Tabelle mit eben Strukturmarkups bestücken soll, wenn man diese benutzen will. An einer Stelle wird von diesem Ansatz kategorisch abgeraten. Daher bin ich nicht ganz sicher, ob ich das ganze richtig verstehe.

      Gruß

      1. Servus!

        Guten Morgen Rolf,

        es geht hauptsächlich um die Barrierefreiheit und wie man eine Seite gestellten soll, um diese z.B. von Screenreadern richtig gelesen werden kann. Nun lese ich, an einer Stelle, dass man z.B. eine Tabelle mit eben Strukturmarkups bestücken soll, wenn man diese benutzen will. An einer Stelle wird von diesem Ansatz kategorisch abgeraten. Daher bin ich nicht ganz sicher, ob ich das ganze richtig verstehe.

        Ich habe mal nach dem Begriff https://www.google.com/search?client=firefox-b-d&q=strukturmarkup gesucht.

        Im Zusammenhang mit Barrierefreiheit geht es hier wohl um:

        „Prüfschritt 1.3.1g Kein Strukturmarkup für Layouttabellen“

        → HTML-Tabellen nur für tabellarische Daten

        → HTML ist ja Auszeichnung (Markup) von Inhalt und Bedeutung; Das würde ja eigentlich unter dem uns ungewohnten Begriff "Strukturmarkup" fallen. Verwendung von h1, h2, h3 sowie den Seitenstrukturierungselementen wie article, aside ist gut!

        Herzliche Grüße

        Matthias Scharwies

        --
        Eigentlich hatte ich heute viel vor - jetzt habe ich morgen viel vor!
        1. Hallo Matthias,

          danke. Ja genau. Diese habe ich auch gefunden. Hiermit soll man die Tabellenstruktur-Mark-up vermeiden.

          1. Aber was sind an dieser Stelle Tabellenstruktur-Mark-up genau?
          2. Ich sehe aber auch, dass man eine Tabelle strukturieren muss, damit z.B. ein Screenreader beim Lesen der Tabelle eine Struktur erkennt, um diese dann richtig wiedergeben zu können.

          Gruß

          1. Moin Lowterm,

            1. Aber was sind an dieser Stelle Tabellenstruktur-Mark-up genau?

            In grauer Vorzeit vor Flexbox und Grid-Layout haben manche ihre mehrspaltigen Seiteninhalte tabellarisch angeordnet:

            | KOPFZEILE MIT LOGO |
            |   Banner/Ticker    |
            +--------------------+
            | Nav | Hauptinhalt: |
            |  …  |              |
            |  …  |              |
            |  …  | z.B. Texte   |
            |  …  |   Artikel    |
            |  …  |      …       |
            |  …  |      …       |
            |  …  |      …       |
            +--------------------+
            |      Fußzeile      |
            

            also

            <table>
                <tr>
                    <th colspan="2">KOPFZEILE MIT LOGO</th>
                </tr>
                <tr>
                    <td colspan="2">Banner/Ticker</th>
                </tr>
                <tr>
                    <td>Nav …</td>
                    <td>Hauptinhalt …</td>
                </tr>
                <tr>
                    <td colspan="2">Fußzeile</td>
                </tr>
            </table>
            

            float war dann die nächste Iterationsstufe danach. Gut, dass es jetzt Flexbox und Grid-Layout gibt.

            Viele Grüße
            Robert

      2. Hallo Lowterm,

        ja, dachte ich mir - diese Stelle hatte ich auch gefunden.

        Strukturmarkup ist erstmal nichts Schlechtes, im Gegenteil. Das HTML Markup soll ja die Struktur des Dokumentes wiedergeben, und Assistenztechniken können das dann Gewinn bringend nutzen.

        Problematisch wird das nur, wenn man strukturelles Markup an Stellen verwendet, wo es nicht hingehört, und darauf beziehen sich die Failure-Kriterien F43 und F46 zu WCAG 2.1 Erfolgskriterium 1.3.1.

        Der deutsche Text "Kein Strukturmarkup für Layouttabellen" mischt die Begriffe aus diesen beiden Failure-Kriterien:

        F43
        Failure (...) due to using structural markup in a way that does not represent relationships in the content
        F46
        Failure (...) due to using th elements, caption elements, or non-empty summary attributes in layout tables

        Und damit liegt der deutsche Text falsch, denn bei F46 geht es gerade nicht um Strukturmarkup. Das Strukturmarkup einer Table besteht vor allem aus den Elementen table und tr. Hinzu kommt td als generische Zellenangabe. Die übrigen Tabellenelemente haben spezielle Semantik und genau darauf zielt F46 ab, weil Assistenztechnik von diese Zusatzsemantik gestört wird, selbst dann, wenn man die Table mit role='presentation' von ihrer Tabellensemantik befreit.

        F43 bezieht sich eher darauf, was Mediawiki macht. Wenn man Text einrücken möchte, schreibt man einen Doppelpunkt davor. Klappt prima, aber guckt man hin, findet man ein <dl>/<dd> Konstrukt. Da ist aber keine Description List, nur ein eingerückter Absatz. Hier wird Strukturmarkup zweckentfremdet und Assistenztechnik erzählt was von einer Description List, wo keine ist.

        Und was ist mit Layouttabellen? Wieso verlangt man etwas für ein Ding, das es gar nicht geben sollte?

        Äh, ja, WCAG 2.1 verbietet Layouttabellen gar nicht. Da steht nur, man sollte es besser anders machen. Und es gibt HTML Kontexte, in denen es ohne Layouttabellen nicht geht (HTML Mail zum Beispiel).

        Rolf

        --
        sumpsi - posui - obstruxi