Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Form guidelines: Labels (new setup) #393

Merged
merged 10 commits into from
Nov 27, 2023
Merged

Conversation

rianrietveld
Copy link
Contributor

@rianrietveld rianrietveld commented Nov 24, 2023

Deze vervangt #366.
Voegt de pagina met richtlijnen voor formulierlabels toe.

Copy link

vercel bot commented Nov 24, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
documentatie ✅ Ready (Inspect) Visit Preview 💬 Add feedback Nov 27, 2023 10:53am

<LabelText />
<LabelTextCode />

Deze richtlijnen worden onderhouden door het NL Design System. Heb je aanvullingen of opmerkingen? [Open een issue op GitHub](https://github.com/nl-design-system/documentatie/issues/new) met je suggesties.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moeten we deze in aparte include zetten?


<Guideline
appearance="dont"
title="een label zonder gekoppelde input. Door het label-element te gebruiken zonder fo` mis je de koppeling tussen het label en de input voor mensen die de visuele context niet waarnemen."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo:

Suggested change
title="een label zonder gekoppelde input. Door het label-element te gebruiken zonder fo` mis je de koppeling tussen het label en de input voor mensen die de visuele context niet waarnemen."
title="een label zonder gekoppelde input. Door het label-element te gebruiken zonder for mis je de koppeling tussen het label en de input voor mensen die de visuele context niet waarnemen."

Copy link
Contributor Author

@rianrietveld rianrietveld Nov 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Het ID van dit blok wordt de hele title. Ik stel voor dat we naast een title en ook een description meegeven, om deze teksten wat te splitsten. Dan is het ook beter mogelijk om HTML/markdown te gebruiken in de description. Nu moet alles in een lange zin. Te te voegen aan: #387

</select>
```

Het geven van een goede toegankelijke naam aan formuliervelden is verplicht volgens de volgende WCAG-succescriteria:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ze verplichten elk een specifiek ding, ik vind deze zin daarom niet zo gelukkig.

What about

Suggested change
Het geven van een goede toegankelijke naam aan formuliervelden is verplicht volgens de volgende WCAG-succescriteria:
Het geven van een goede toegankelijke naam aan formuliervelden is verplicht volgens WCAG. Deze succescriteria zijn relevant:

<Guideline appearance="do" title="het label blijft zichtbaar, ook als de gebruiker gaat invullen.">
<Canvas language="html">
<label for="dier1">Wat is je lievelingsdier?</label>
<br />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moet hier echt een br?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ik ga ff puzzelen in de CSS, ik wil liever hier geen style classes gebruiken, specifiek voor deze guideline weergaves.


De placeholder kan ook voor verwarring zorgen bij gebruikers. Is het al veld ingevuld? Zie het onderzoek [Placeholders in Form Fields Are Harmful](https://www.nngroup.com/articles/form-design-placeholders/) van de Nielsen Norman Group.

Een label vertelt **wat** je moet invullen en een placeholder **hoe** je een formulierveld moet invullen. Voor een e-mailveld kan het label bijvoorbeeld “Jouw e-mailadres” zijn en de placeholder “[email protected]”.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Misschien hier ook nog op wijzen dat je “hoe” informatie ook als description kunt toevoegen, onder het label, of als onderdeel van het label, als in: het hoeft niet in een placeholder?


Als de toegankelijke naam niet begint met de zichtbare naam werkt dit niet goed. Dit kan gebeuren bij het verkeerd gebruik van het attribute `aria-label`. Met `aria-label` kan een formulierveld ook een toegankelijke naam worden gegeven, onzichtbaar voor de ziende gebruiker.

Door te zorgen dat zichtbare naam en toegankelijke naam overeenkomen, voldoe je aan een WCAG-criterium: [2.5.3: Label in naam (Niveau A)](https://www.w3.org/WAI/WCAG21/Understanding/label-in-name.html).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mooi dit zo!

</FormField>
</Canvas>
</Guideline>
Lees hierover meer op de [richtlijnen over labels](http://localhost:3000/richtlijnen/formulieren/alle-richtlijnen/labels).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deze is nog met localhost

</FormField>
</Canvas>
</Guideline>
Lees hierover meer op de [richtlijnen over labels](http://localhost:3000/richtlijnen/formulieren/alle-richtlijnen/labels).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deze is nog met localhost

@@ -73,6 +73,7 @@ _Dit is verplicht om te voldoen aan WCAG 2.1, criterium [2.4.2 Paginatitel](http
## Velden onder elkaar

Om iemand comfortabel een formulier te laten scannen, is de aanbeveling meerdere kolommen te vermijden. Plaats velden bij voorkeur onder elkaar.
Lees ook de [richtlijnen over labels](http://localhost:3000/richtlijnen/formulieren/alle-richtlijnen/labels).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

idem

1. Het biedt voldoende ruimte voor labels van verschillende lengtes. Het kan zijn dat gebruikers vertaalsoftware gebruiken op de pagina, waardoor labels langer of korter kunnen zijn dan je verwacht.
1. Dit werkt beter voor gebruikers die de tekst inzoomen
1. Het biedt een natuurlijke ‘scan-lijn’
Lees hierover meer op de [richtlijnen over labels](http://localhost:3000/richtlijnen/formulieren/alle-richtlijnen/labels).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

idem

@rianrietveld
Copy link
Contributor Author

@hidde @Robbert @jeffreylauwers
Klaar voor publicatie?

# Labels

Een label geeft aan welke gegevens de gebruiker bij een formulierveld in kan vullen.
Voor de toegankelijkheid van labels en dus ook formuliervelden zijn de volgende de volgende punten belangrijk:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Twee keer 'de volgende'

- Geef het label het attribute `for` met als waarde de ID van het bijbehorende formulierveld.

<!-- prettier-ignore -->
```html
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

syntax highlighting van deze is nog ontoegankelijk qua kleurcontrasten

Copy link
Contributor Author

@rianrietveld rianrietveld Nov 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hiervoor is een apart issue aangemaakt: #394

Copy link
Contributor

@jeffreylauwers jeffreylauwers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dat las lekker weg :) Dit zijn mijn comments.

Een label geeft aan welke gegevens de gebruiker bij een formulierveld in kan vullen.
Voor de toegankelijkheid van labels en dus ook formuliervelden zijn de volgende de volgende punten belangrijk:

- Geef een formulierveld toegankelijke naam met een label.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Geef een formulierveld een toegankelijke naam met een label

- De zichtbare naam moet overeenkomen met de toegankelijke naam.
- Zet het label boven het formulierveld.
- Zorg ervoor dat het label altijd zichtbaar is.
- Zet het label boven het formulierveld.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deze is dubbelop.

- Zorg ervoor dat het label altijd zichtbaar is.
- Zet het label boven het formulierveld.
- Zet alleen tekst in het label.
- Gebruik duidelijke labelteksten
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mist een punt.


Als de toegankelijke naam niet begint met de zichtbare naam werkt dit niet goed. Dit kan gebeuren bij het verkeerd gebruik van het attribute `aria-label`. Met `aria-label` kan een formulierveld ook een toegankelijke naam worden gegeven, onzichtbaar voor de ziende gebruiker.

Door te zorgen dat zichtbare naam en toegankelijke naam overeenkomen, voldoe je aan een WCAG-criterium: [2.5.3: Label in naam (Niveau A)](https://www.w3.org/WAI/WCAG21/Understanding/label-in-name.html).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Door te zorgen dat de zichtbare naam...


- Het biedt voldoende ruimte voor labels van verschillende lengtes. Het kan zijn dat gebruikers vertaalsoftware gebruiken op de pagina, waardoor labels langer of korter kunnen zijn dan je verwacht.
- Dit werkt beter voor gebruikers die de tekst inzoomen.
- Het biedt een natuurlijke ‘scan-lijn’.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Misschien nog even toelichten wat we met 'scan-lijn' bedoelen voor als men hier niet bekend mee is? Bijvoorbeeld zoiets als "Door labels, formuliervelden en acties verticaal uit te lijnen, wordt een natuurlijke 'scan-lijn' gecreëerd. Hierdoor kunnen mensen hun aandacht gemakkelijk op deze lijn richten."


Waarom is dit belangrijk? Mensen lezen van boven naar beneden en verwachten dat de informatie in die volgorde staat.

Je brein verbindt automatisch wat er bij elkaar is geplaatst, dus zorg er ook voordat het label visueel dicht bij het formulierveld staat. Dan is duidelijk wat bij elkaar hoort.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Misschien kunnen we hier met een link verwijzen naar de Stijl richtlijnen rondom ruimte? En dan met name dit stukje: https://www.nldesignsystem.nl/richtlijnen/stijl/ruimte#ontwerpen-met-ruimte:~:text=Gebruik%20ruimte%20om%20relaties%20te%20cre%C3%ABren%20tussen%20elementen.

Copy link
Member

@hidde hidde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, dank voor alle comments @jeffreylauwers !

@hidde hidde merged commit 5892c6a into main Nov 27, 2023
6 checks passed
@hidde hidde deleted the add-label-guideline-new-setup branch November 27, 2023 11:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants