Fronteers — vakvereniging voor front-end developers

Webrichtlijn 84 en 85: Volgorde en groeperen van invoervelden

Gebruik het tabindex attribuut om van de standaard tab-volgorde op formuliervelden af te wijken wanneer deze volgorde niet toereikend is voor correct gebruik van het formulier door toetsenbordgebruikers. (R-pd.13.2) Breng groepering van invoervelden aan door middel van het fieldset element. (R-pd.13.3)

Zoals de Webrichtlijnen al melden: "Gebruik het tabindex attribuut zo min mogelijk: de volgorde van de invoervelden in de HTML broncode bepaalt de standaard tabvolgorde. Deze is meestal toereikend." Het voorbeeld in Webrichtlijn 52 & 53: Tabben tussen links is misschien een uitzondering; zie ook de discussie bij die post. Is hierin ondertussen nog iets veranderd? Is tabindex niet alleen nog maar relevant voor webapplicaties die last hebben van divitis en "toegankelijk" gemaakt moeten worden?

Interessanter is het groeperen van invoerelementen door middel van het fieldset element en het eventueel labelen van zo'n groep met het legend element.

Hoe vaak gebruik jij het fieldset element? Gebruik je dit bij ieder formulier, of alleen als een formulier aan bepaalde eisen voldoet? En doe je ook wel eens aan geneste fieldsets, zoals hier op de site, of is dat juist overkill?

Aangezien de Webrichtlijnen het niet als richtlijn opnemen en het valide is bij gebruik van een strict doctype (en conforming als je HTML 5 gebruikt): wanneer gebruik jij wel een fieldset, maar geen legend?

En omdat het stijlen van de legend soms "erg lastig" is, bieden de Webrichtlijnen je een alternatief: het gebruik van een heading in plaats van een legend. Wat vind jij hiervan? Gebruik jij liever legends of h1h6? Tegen welke problemen loop jij aan? Zijn er niet genoeg tutorials die laten zien dat het wel kan, zoals Fancy Form Design Using CSS dat doet?

Reacties

1 Matijs op 13-05-2009 om 17:39 uur:
In principe gebruik ik fieldsets voor alle formulieren, ook al hebben ze maar 1 veld zoals bijvoorbeeld een simpel zoekformulier. Het scheelt weer een div die er anders waarschijnlijk omheen zou staan.

Voor wat betreft <legend>… tsja… moeilijk verhaal. "Erg lastig" is een beetje een understatement dus als het gestyled moet worden dan gebruik ik vaak net zo lief een heading in plaats van een legend. Als het volgens de Webrichtlijnen mag, waarom dan niet? Semantisch gezien is er volgens mij ook geen speld tussen te krijgen maar ik ben benieuwd naar de mening van anderen.
Plaats een reactie