Fronteers — vakvereniging voor front-end developers

Webrichtlijn 19, 20 & 21: Tekstopmaak, definities, wijzigingen, superscript en subscript

Gebruik het dfn (definition) element voor het aangeven van termen, elders gedefiniëerd in een definitielijst. (R-pd.3.7) Gebruik het ins (insertion) en del (deletion) element voor het aangeven van regelmatige wijzigingen in de inhoud van een pagina. (R-pd.3.8) Vermijd het gebruik van het sup (superscript) en sub (subscript) element waar mogelijk. (R-pd.3.9)

Even vlug door de laatste 3 richtlijnen van tekstopmaak heen, wat natuurlijk niet wil zeggen dat de discussie hierover ook kort moet zijn!

Definities

Wat betreft het <dfn> element zijn de webrichtlijnen lekker summier:

Tekstopmaak, definities

Termen die geschikt zijn voor opname in een definitielijst of glossary elders op de pagina of website, kan worden opgemaakt met het dfn (definition) element.

Wie doet dit? En wat heb je eraan als je het doet?

Wijzigingen

Tekstopmaak, wijzigingen

Als de informatie op een pagina aan regelmatige wijziging onderhevig is en het belangrijk is dat deze wijzigingen als zodanig zichtbaar zijn, gebruik dan het ins (insert) element voor toevoegingen en het del (deletion) element voor verwijderingen.

Dit betekent dus dat een automatische diff met <ins> en <del> elementen niet per se goed is. Of niet?

Op welke site heb jij markup voor wijzigingen in proza wel eens goed toegepast gezien?

En heb jij deze twee elementen wel eens oneigenlijk gebruikt om een validerende pagina op te leveren? Opeens "mag" dit dan:

<a href="#foo">
<ins>
<div>
<h3>Foo</h3>
<p>Bar</p>
</div>
</ins>
</a>

Superscript en subscript

Hierin zijn de webrichtlijnen wel duidelijk: probeer <sup> en <sub> te vermijden. Zijn we het daar mee eens? Zijn dit gevaarlijke elementen?

Reacties

1 Anne van Kesteren op 08-04-2008 om 13:05 uur:
Waarom zou je superscript willen vermijden? E=mc2 is wat anders dan E=mc^2... (MathML gaat wel werken met HTML5, maar voor simpele vergelijkingen wil je dat niet gaan gebruiken.)
2 Sander v L op 08-04-2008 om 15:54 uur:
Ik vermoed dat dat één van de situaties is waar de webrichtlijnen het gebruik als "onontkoombaar" zien. Er moet dus meer nadruk liggen op "waar mogelijk", of misschien dat de hele regel herschreven moet worden om iets te zeggen als "Gebruik het sup (superscript) en sub (subscript) element niet waar dit gebruik alleen visueel is." (Of zoals HTML5 het zegt: "These elements must only be used to mark up typographical conventions with specific meanings, not for typographical presentation for presentation's sake")

In mijn ogen is dit punt puur opgesteld op deze manier om te voorkomen dat mensen deze elementen voor voetnoten e.d. gebruiken (want het "superscript" schrijven is daar alleen visueel, en heeft geen betekenis). Ik vraag me af waarom zo 'weinig' wordt gezegd over juist gebruik; misschien dat er niet of nauwelijks juist gebruik bekend was op het moment dat de webrichtlijnen werden opgesteld?
3 Gerrit op 09-04-2008 om 15:56 uur:
Voor deze elementen is een schreeuwende behoefte aan live-voorbeelden van goed en nuttig gebruik... Wie-o-wie heeft ze?
4 Colin Meerveld op 09-04-2008 om 23:04 uur:
De ins en del element zijn erg handig om te gebruiken. Ik gebruik het zelf bijvoorbeeld op een e-commerce site voor prijswijzigingen. Ook zonder css is het dan duidelijk dat het om een verwijdering gaat (standaard UA gedrag is een streep door de tekst in een del). Sub en sup zou je alleen moeten gebruiken als de betekenis zonder CSS verloren gaat. In geval van E=mc2 is dit discutabel maar over het algemeen geld dat je het beter kunt vermijden. Wat betreft het dfn-element heeft de webrichtlijnen het fout. Je moet het dfn-element om een term van een inline definitie zetten zoals in de w3c specificatie staat vermeld.
5 Michael Wijnakker op 10-04-2008 om 09:54 uur:
@Colin, inderdaad de uitleg van het dfn-element volgens het w3c verschilt nogal van die van de webrichtlijnen.

Zoals het w3c het uitlegt zie ik wel toegevoegde waarde. Maar de webrichtlijnen gebruiken het dfn-element op een manier die volgens mij helemaal geen toegevoegde waarde heeft.

De bezoeker ziet een schuingedrukt woord (de standaard weergave van een dfn) en moet dan maar snappen dat dat een definitie is die ergens op de site wordt uitgelegd. Maar waar op de site, staat er dan niet bij.
6 BARTdG op 10-04-2008 om 21:08 uur:
Ik begrijp uit de uitleg van w3c, dat de definitie in de directe omgeving van het gedefinieerde moet staan. Dus de bezoeker weet dat hij niet ver hoeft te zoeken naar de definitie.

Toch is het een raar ding. Je bent geneigd om dfn te stylen met zo'n dotted streepje en dan met title de definitie aan te geven, maar dat is dus volgens w3c niet correct.

Voor mensen zie ik de meerwaarde niet. Als je een tekst aan het lezen bent, snap je wel dat, bijvoorbeeld, de zin tussen haakjes de definitie is van het woord vóór het eerste haakje. Eigenlijk heeft met name Google iets aan dfn. En op die manier is het dus best een nuttig element.
7 Koen Willems op 14-04-2008 om 00:19 uur:
Wat INS en DEL betreft bevat de begeleidende tekst bij deze webrichtlijn overigens een onjuistheid
(zie http://webrichtlijnen.nl/handleiding/ontwikkeling/productie/beschrijvende-markup/het-schrijven-van/tekstopmaak/#wijzigingen)

Gesteld wordt 'Voor een bezoeker blijft het natuurlijk essentieel dat zo’n wijzigingsdatum visueel zichtbaar is; schrijf deze daarom minstens voluit in de tekst.'

Maar het kan natuurlijk niet zo zijn dat je door het gebruik van een bepaald element genoodzaakt zou zijn de content aan te passen.

Naar mijn mening is het beter de wijzigingsdatum in een title-attribuut te vermelden.
8 Anne van Kesteren op 15-04-2008 om 12:13 uur:
Er is een datetime attribuut voor de datum: http://www.whatwg.org/specs/web-apps/current-work/multipage/section-edits.html#attributes
9 Koen Willems op 15-04-2008 om 19:06 uur:
@Anne: Inderdaad, alleen veel user agents doen daar weer niets mee. Tegen die achtergrond kan het m.i. geen kwaad het title-attribuut eveneens te gebruiken.
10 Eric Mulder op 11-03-2009 om 11:58 uur:
Wat ik al niet begrijp is het verschil tussen de <abbr> tag en de <dfn> tag. Als ik google naar voorbeelden dan kan een term als HTML op de volgende manieren worden getoond:

<abbr title="Hyper Text Markup Language">HTML</abbr>

<dfn>HTML</dfn>

Het verschil is echter dat bij een DFN de uitleg elders op de pagina in een definitielijst moet worden geplaatst. Wat is dan exact de toegevoegde waarde van DFN ?
11 Sander v L. op 11-03-2009 om 12:35 uur:
@Eric: Huh, dat is gewoon compleet verkeerd van de webrichtlijnen. Een <dfn> moet helemaal niet ergens naar een definitelijst "elders" verwijzen, maar de definitie moet rechtstreeks daar staan waar het <dfn> element wordt gebruikt. HTML 4 maakt dit al redelijk duidelijk met "the defining instance of the enclosed term" (als iets de "defining instance" is, dan kan die definitie dus niet "elders" staan), en HTML 5 specificeert het expliciet als de term die binnen de parent paragraaf/dl/section wordt gedefinieerd.

De reden dat <dfn> en <abbr> niet hetzelfde zijn is dat niet elke term die gedefinieerd wordt per se een afkorting hoeft te zijn. Elke wetenschappelijke tekst zal honderden termen bevatten die specifiek gedefinieerd moeten worden om aan te geven waar precies over wordt gesproken. Bv. een definitie van de term "front-end web development":
<p><dfn>Front-end web development</dfn> is het onderdeel van web development dat zich bezig houdt met alles wat zich in de user-agent afspeelt. Dit bestaat <abbr title="onder andere">o.a.</abbr> uit HTML, CSS en JavaScript, maar ook toegankelijkheid en gebruiksvriendelijkheid van de website vallen hier onder.</p>

De eerste keer dat je <abbr title="Hyper Text Markup Language">HTML</abbr> schrijft kan je hier <dfn> elementen omheen gooien om aan te geven dat die title de definitie van "HTML" bevat. <dfn> en <abbr> complementeren elkaar dan ook.
12 Sander Aarts op 11-03-2009 om 15:07 uur:
@Sander v L:
"...om te voorkomen dat mensen deze elementen voor voetnoten e.d. gebruiken (want het "superscript" schrijven is daar alleen visueel, en heeft geen betekenis)."

Is dat wel zo? Het visuele aspect geeft in het geval van een voetnoot volgens mij aan dat het cijfer geen inhoudelijk onderdeel is van de betreffende zin. Volgens mij kun je dus wel stellen dat de weergave betekenis met zich meebrengt.
Het wordt wel wat verwarrend als je een voetnoot wilt plaatsen bij een wiskundige notatie die eindigt met een macht ;)
13 Sander v L. op 11-03-2009 om 21:03 uur:
@Sander Aarts: Je kan referenties naar voetnoten op meerdere manieren maken. Buiten het kleine cijfer ver boven de baseline, worden ook cijfers tussen vierkante haken gebruikt[1], of tekens zoals: *, †, ‡, §. (Thanks to wikipedia for the easy copy/paste.) :)
Ik denk dus niet dat het "iets hoger schrijven" van een dergelijke link een "typographical convention with specific meaning" is, en blijf er aldus bij dat <sup> niet het juiste element is voor referenties naar voetnoten.

Het klopt natuurlijk dat het cijfer geen inhoudelijk onderdeel is van de zin, maar het feit dat er een referentie is, is dat n.m.i. wel. Misschien (ik ben hier niet zeker van; counters zijn altijd erg lastig) zou het specifieke nummer dan ook gezien moeten worden als generated content, en zouden alle referenties naar voetnoten dan ook geschreven moeten worden in de trend van:
bla bla bla (<a href="#footnote1" class="footnote">zie referentie</a>). Bla bla
Met als CSS iets van:
section { counter-reset: footnote; }
a.footnote:after { content: counter(footnote); counter-increment: footnote; font-size: 80%; position: relative; top: -0.5em; }
a.footnote { display: none; }


of alternatief:
a.footnote:after { content: "["counter(footnote)"]"; counter-increment: footnote; }
14 Sander A op 12-03-2009 om 00:22 uur:
chique
Plaats een reactie