@utrecht/form-field-css 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +1 -39
- package/dist/index.css +9 -3
- package/docs/anatomy.nl.md +30 -0
- package/docs/technology-html.nl.md +7 -0
- package/docs/wcag.nl.md +8 -0
- package/package.json +1 -1
- package/src/_mixin.scss +10 -5
- package/src/index.scss +5 -1
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -2,42 +2,4 @@
|
|
|
2
2
|
|
|
3
3
|
# Form field
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
De volgende componenten zijn vaak onderdeel van een _form field_:
|
|
8
|
-
|
|
9
|
-
- _form label_ component
|
|
10
|
-
- _form field description_ component met extra beschrijving
|
|
11
|
-
- _form field description_ component met een validatiemelding
|
|
12
|
-
- een form control component zoals bijvoorbeeld:
|
|
13
|
-
- _textbox_ component
|
|
14
|
-
- _textarea_ component
|
|
15
|
-
- _checkbox_ component
|
|
16
|
-
- _radio button_ component
|
|
17
|
-
- _form select_ component
|
|
18
|
-
- etcetera
|
|
19
|
-
- _form field description_ component met een foutmelding
|
|
20
|
-
- _form field description_ component status van component
|
|
21
|
-
|
|
22
|
-
## HTML
|
|
23
|
-
|
|
24
|
-
Gebruik een element `<div>` element voor formuliervelden met één _form control_. Een formulierveld moet meerdere `<p>` elementen kunnen bevatten, gebruik daarom geen `<p>` element voor de form field. Je moet geen _landmark role_ gebruiken voor een formulierveld (dus geen `<section>`) element.
|
|
25
|
-
|
|
26
|
-
Voor formuliervelden met meerdere _form controls_ mag je een `<fieldset>` element gebruiken, bijvoorbeeld voor: jaar, maand en dag. Voor CSS is het handig om dan nog steeds een `<div>` om de fieldset heen te hebben: `<div><fieldset>...</fieldset></div>`.
|
|
27
|
-
|
|
28
|
-
## Gebruikte termen
|
|
29
|
-
|
|
30
|
-
- `form` komt van `<form>` in HTML en `role="form"` in WAI-ARIA.
|
|
31
|
-
- `field` komt van `<fieldset>` in HTML.
|
|
32
|
-
- `invalid` komt van `aria-invalid` in WAI-ARIA.
|
|
33
|
-
- `radio` komt van `<input type="radio">` in HTML.
|
|
34
|
-
- `checkbox` komt van `<input type="checkbox">` in HTML.
|
|
35
|
-
- `label` komt van `<label>` in HTML en `aria-labelledby` in WAI-ARIA.
|
|
36
|
-
- `description` komt van `aria-describedby` in WAI-ARIA.
|
|
37
|
-
|
|
38
|
-
## Relevante WCAG regels
|
|
39
|
-
|
|
40
|
-
- [WCAG eis 2.4.6](https://www.w3.org/TR/WCAG21/#headings-and-labels): de tekst van het label moet duidelijk zijn
|
|
41
|
-
- [WCAG eis 3.3.9](https://www.w3.org/TR/WCAG22/#redundant-entry): gebruik niet een formulierveld voor informatie die de gebruiker eerder al heeft ingevuld.
|
|
42
|
-
- Vraag gebruikers niet twee keer achter elkaar identieke gegevens in te vullen, bijvoorbeeld om typfouten te herkennen en daarmee fouten te voorkomen. Bied liever een mogelijkheid aan om de gegevens te controleren als laatste stap.
|
|
43
|
-
- Vul bestaande gegevens in als standaardwaarde wanneer je de gegevens al hebt maar je graag zeker wilt weken of de oude gegevens nog juist zijn.
|
|
5
|
+
Een invoerveld en bijbehorende onderdelen die helpen bij het invullen.
|
package/dist/index.css
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Copyright (c) 2021 Robbert Broersma
|
|
8
8
|
*/
|
|
9
9
|
/* stylelint-disable-next-line block-no-empty */
|
|
10
|
+
/** @deprecated */
|
|
10
11
|
.utrecht-form-field {
|
|
11
12
|
break-inside: avoid;
|
|
12
13
|
font-family: var(--utrecht-document-font-family, inherit);
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
.utrecht-form-field--checkbox {
|
|
30
31
|
display: grid;
|
|
31
32
|
gap: 0 var(--utrecht-checkbox-margin-inline-end, 12px);
|
|
32
|
-
grid-template-areas: "input label" "input description" "input
|
|
33
|
+
grid-template-areas: "input label" "input description" "input error-message";
|
|
33
34
|
grid-template-columns: var(--utrecht-checkbox-size) 100fr;
|
|
34
35
|
/*
|
|
35
36
|
.utrecht-form-field__label .utrecht-form-field__input {
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
.utrecht-form-field--radio {
|
|
51
52
|
display: grid;
|
|
52
53
|
gap: 0 var(--utrecht-radio-button-margin-inline-end, 12px);
|
|
53
|
-
grid-template-areas: "input label" "input description" "input
|
|
54
|
+
grid-template-areas: "input label" "input description" "input error-message";
|
|
54
55
|
grid-template-columns: var(--utrecht-radio-button-size) 100fr;
|
|
55
56
|
/*
|
|
56
57
|
.utrecht-form-field__label .utrecht-form-field__input {
|
|
@@ -92,7 +93,7 @@
|
|
|
92
93
|
}
|
|
93
94
|
|
|
94
95
|
.utrecht-form-field .utrecht-form-field-description--invalid {
|
|
95
|
-
grid-area:
|
|
96
|
+
grid-area: error-message;
|
|
96
97
|
order: 3;
|
|
97
98
|
}
|
|
98
99
|
|
|
@@ -106,4 +107,9 @@
|
|
|
106
107
|
.utrecht-form-field__description--before {
|
|
107
108
|
grid-area: description-before;
|
|
108
109
|
order: 4;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.utrecht-form-field__error-message {
|
|
113
|
+
grid-area: error-message;
|
|
114
|
+
order: 3;
|
|
109
115
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
3
|
+
# Anatomy
|
|
4
|
+
|
|
5
|
+
Gebruik het _form field_ component om een alle onderdelen van een formulierveld in te verzamelen: het label, de _form control_, eventueel een extra beschrijving of de status en eventueel een validatiemelding of foutmelding.
|
|
6
|
+
|
|
7
|
+
De volgende componenten zijn vaak onderdeel van een _form field_:
|
|
8
|
+
|
|
9
|
+
- _form label_ component
|
|
10
|
+
- _form field description_ component met extra beschrijving
|
|
11
|
+
- _form field description_ component met een validatiemelding
|
|
12
|
+
- een form control component zoals bijvoorbeeld:
|
|
13
|
+
- _textbox_ component
|
|
14
|
+
- _textarea_ component
|
|
15
|
+
- _checkbox_ component
|
|
16
|
+
- _radio button_ component
|
|
17
|
+
- _form select_ component
|
|
18
|
+
- etcetera
|
|
19
|
+
- _form field description_ component met een foutmelding
|
|
20
|
+
- _form field description_ component status van component
|
|
21
|
+
|
|
22
|
+
## Gebruikte termen
|
|
23
|
+
|
|
24
|
+
- `form` komt van `<form>` in HTML en `role="form"` in WAI-ARIA.
|
|
25
|
+
- `field` komt van `<fieldset>` in HTML.
|
|
26
|
+
- `invalid` komt van `aria-invalid` in WAI-ARIA.
|
|
27
|
+
- `radio` komt van `<input type="radio">` in HTML.
|
|
28
|
+
- `checkbox` komt van `<input type="checkbox">` in HTML.
|
|
29
|
+
- `label` komt van `<label>` in HTML en `aria-labelledby` in WAI-ARIA.
|
|
30
|
+
- `description` komt van `aria-describedby` in WAI-ARIA.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
3
|
+
# HTML
|
|
4
|
+
|
|
5
|
+
Gebruik een element `<div>` element voor formuliervelden met één _form control_. Een formulierveld moet meerdere `<p>` elementen kunnen bevatten, gebruik daarom geen `<p>` element voor de form field. Je moet geen _landmark role_ gebruiken voor een formulierveld (dus geen `<section>`) element.
|
|
6
|
+
|
|
7
|
+
Voor formuliervelden met meerdere _form controls_ mag je een `<fieldset>` element gebruiken, bijvoorbeeld voor: jaar, maand en dag. Voor CSS is het handig om dan nog steeds een `<div>` om de fieldset heen te hebben: `<div><fieldset>...</fieldset></div>`.
|
package/docs/wcag.nl.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<!-- @license CC0-1.0 -->
|
|
2
|
+
|
|
3
|
+
# Relevante WCAG regels
|
|
4
|
+
|
|
5
|
+
- [WCAG eis 2.4.6](https://www.w3.org/TR/WCAG21/#headings-and-labels): de tekst van het label moet duidelijk zijn
|
|
6
|
+
- [WCAG eis 3.3.9](https://www.w3.org/TR/WCAG22/#redundant-entry): gebruik niet een formulierveld voor informatie die de gebruiker eerder al heeft ingevuld.
|
|
7
|
+
- Vraag gebruikers niet twee keer achter elkaar identieke gegevens in te vullen, bijvoorbeeld om typfouten te herkennen en daarmee fouten te voorkomen. Bied liever een mogelijkheid aan om de gegevens te controleren als laatste stap.
|
|
8
|
+
- Vul bestaande gegevens in als standaardwaarde wanneer je de gegevens al hebt maar je graag zeker wilt weken of de oude gegevens nog juist zijn.
|
package/package.json
CHANGED
package/src/_mixin.scss
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
--utrecht-space-around: 0;
|
|
36
36
|
|
|
37
37
|
display: grid;
|
|
38
|
-
grid-template-areas: "label" "description" "description-before" "
|
|
38
|
+
grid-template-areas: "label" "description" "description-before" "error-message" "input" "description-after";
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
@mixin utrecht-form-field--option {
|
|
@@ -83,11 +83,16 @@
|
|
|
83
83
|
order: 2;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
@mixin utrecht-form-
|
|
87
|
-
grid-area:
|
|
86
|
+
@mixin utrecht-form-field__error-message {
|
|
87
|
+
grid-area: error-message;
|
|
88
88
|
order: 3;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
/** @deprecated */
|
|
92
|
+
@mixin utrecht-form-field__description--invalid {
|
|
93
|
+
@include utrecht-form-field__error-message;
|
|
94
|
+
}
|
|
95
|
+
|
|
91
96
|
@mixin utrecht-form-field__description--after {
|
|
92
97
|
grid-area: description-after;
|
|
93
98
|
order: 6;
|
|
@@ -101,7 +106,7 @@
|
|
|
101
106
|
@mixin utrecht-form-field--checkbox {
|
|
102
107
|
display: grid;
|
|
103
108
|
gap: 0 var(--utrecht-checkbox-margin-inline-end, 12px);
|
|
104
|
-
grid-template-areas: "input label" "input description" "input
|
|
109
|
+
grid-template-areas: "input label" "input description" "input error-message";
|
|
105
110
|
grid-template-columns: var(--utrecht-checkbox-size) 100fr;
|
|
106
111
|
|
|
107
112
|
/*
|
|
@@ -123,7 +128,7 @@
|
|
|
123
128
|
@mixin utrecht-form-field--radio {
|
|
124
129
|
display: grid;
|
|
125
130
|
gap: 0 var(--utrecht-radio-button-margin-inline-end, 12px);
|
|
126
|
-
grid-template-areas: "input label" "input description" "input
|
|
131
|
+
grid-template-areas: "input label" "input description" "input error-message";
|
|
127
132
|
grid-template-columns: var(--utrecht-radio-button-size) 100fr;
|
|
128
133
|
|
|
129
134
|
/*
|
package/src/index.scss
CHANGED
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
.utrecht-form-field .utrecht-form-field-description--invalid {
|
|
45
|
-
@include utrecht-form-
|
|
45
|
+
@include utrecht-form-field__error-message;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
.utrecht-form-field__description {
|
|
@@ -52,3 +52,7 @@
|
|
|
52
52
|
.utrecht-form-field__description--before {
|
|
53
53
|
@include utrecht-form-field__description--before;
|
|
54
54
|
}
|
|
55
|
+
|
|
56
|
+
.utrecht-form-field__error-message {
|
|
57
|
+
@include utrecht-form-field__error-message;
|
|
58
|
+
}
|