Ersatz für das DO-di-Tag

8

Der DOA ( oder geeigneter, Dead Vorher Ankunft ) XHTML2-Arbeitsstandard zeigt Unterstützung für Das <di> -Tag .

  

[...] Der Begriff und seine Definition können in einem Element di gruppiert werden, um die Beziehung zwischen einem Begriff und seinen Definitionen zu verdeutlichen.

Um dies zu verdeutlichen, würde dieses Tag verwendet werden, um <dt> und <dd> Tags zusammen unter <dl> :

zu gruppieren %Vor%

Wie auch immer, da <di> außerhalb des Fensters ist ( heh ), habe ich mich gefragt, was ( wenn überhaupt ) zur Zeit unterstützte Markup-Muster als semantisch und strukturell beschreiben könnten gleichwertig? Ich habe im Wesentlichen akzeptiert, dass <dl> für meine Anforderungen nicht ausreicht ( soweit ästhetische Anforderungen gehen ), also bin ich auf der Suche nach anderen Lösungen.

Meine Absicht für <di> war in erster Linie ein Stil-Hook 1 , da ich eine Definitionsliste verwende und beabsichtige, die Begriffs- / Definitionsgruppierungen als ein einzelnes Element zu stylen.

Aus Gründen der Barrierefreiheit verwende ich die Attribute aria-* und role , um die Beziehung zu definieren, aber ich hoffe, dass es eine allgemein akzeptierte Struktur gibt, um <di> zu emulieren, die ich einfach habe 't angetroffen.

Ich betrachte zum Beispiel Folgendes:

%Vor%

1. Wie ich es verstehe, ist dies ein oft zitierter Grund für den Ausschluss von HTML5 (, dass es nur ein Stil-Hook ist). Ehrlich gesagt, ich denke, das ist ein Bulle, da es eine vollkommen vernünftige Möglichkeit ist, Begriffe und Definitionen sowohl für das als auch Parsing zu gruppieren. Aber wen interessiert das, oder? Nicht angeführte Attribute und unvollständige Tags sind viel wichtiger.% Co_de%

    
Dan 07.01.2014, 21:55
quelle

1 Antwort

4

HTML5 CR definiert eine Gruppierung innerhalb eines dl Elements , damit z Ein dd -Element gefolgt von einem oder mehreren dd -Elementen bildet eine Gruppe, das nächste dd startet eine neue Gruppe usw. In diesem Sinne wäre das di -Element strukturell redundant. Auf der anderen Seite hat ein dl -Element wirklich keine Semantik (abgesehen davon, dass es strukturell etwas ist), und es gibt keine bekannte Software, die es auf eine bestimmte Art und Weise verarbeitet, abgesehen von Standard-Rendering-Problemen.

Wenn Sie eine solche Gruppe als eine Einheit gestalten möchten, haben Sie meistens kein Glück, nach Spezifikationen und Entwürfen. Es wird kein Vorschlag zum Hinzufügen von Inhalten wie di berücksichtigt. Sie könnten ein Angebot einreichen, das auf tbody und optgroup als Präzedenzfälle verweist (d. H. Als spezielle Gruppierungselemente innerhalb bestimmter Elemente), aber das wäre ein langer Weg.

Ein kurzer Weg ist die Verwendung von div für die Gruppierung in dl . Natürlich ist es "ungültig", aber das ist nur eine formelle Position und Browser interessieren sich nicht wirklich. Sie scheinen das gut zu verdauen:

%Vor%

Browser analysieren dies so, dass div Elemente Kinder des dl -Elements sind und die dt und dd -Elemente immer noch ihre normale Auswirkung auf die Standardformatierung haben.

Und jetzt können Sie die Einheiten stylen, z. B.

%Vor%

Sie können dafür geflammt werden. Ein sicherer, dumpferer Ansatz besteht darin, jede Einheit zu einem separaten dl -Element zu machen (und die dl -Elemente in einen div -Behälter zu legen, wenn Sie alle als einzelnes Element behandeln müssen).

    
Jukka K. Korpela 07.01.2014, 22:19
quelle