@apliteni/apliteni-ui 0.73.0 → 0.74.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.
@@ -6,13 +6,11 @@
6
6
 
7
7
  **Rule:** Give every pointer target at least 24x24 CSS px.
8
8
 
9
- **Why:** Larger targets are easier to activate accurately.
9
+ **Do:** The dashed square is the hit area the box declares, not a drawing of one.
10
10
 
11
- **Do:** Use a centred 24x24 `::before` hit area for a 19x19 checkbox.
11
+ **Don't:** The target stops where the 19x19 box stops.
12
12
 
13
- **Don't:** Leave a 19x19 target unchanged.
14
-
15
- **Except:** WCAG 2.5.8 permits spacing, equivalent controls, inline text, user-agent sizes and essential presentation. Overlays must not reach neighbours.
13
+ **Except:** WCAG 2.5.8 permits spacing, equivalent controls, inline text, user-agent sizes and essential presentation. An overlay must not reach its neighbours.
16
14
 
17
15
  ## Tap target on a phone
18
16
 
@@ -48,27 +46,23 @@
48
46
 
49
47
  **Rule:** Keep a focus indicator at least 3:1 against every ground it reaches.
50
48
 
51
- **Why:** A solid band remains visible where glow alone may disappear.
52
-
53
- **Do:** Use G2’s solid band with a surface-coloured gap around accent-filled controls.
49
+ **Do:** The solid band, with a surface-coloured gap around an accent-filled control.
54
50
 
55
- **Don't:** Use the halo alone as the focus indicator.
51
+ **Don't:** The halo on its own, with no solid band inside it to measure.
56
52
 
57
- **Except:** The band must reach 4.22:1 on flat ground and 3:1 against actual gap and halo pixels.
53
+ **Except:** The band must clear the bar against the gap and halo pixels too, not only against flat ground.
58
54
 
59
55
  ## Disabled control legibility
60
56
 
61
57
  <!-- rule: disabled-legibility -->
62
58
 
63
- **Rule:** Paint disabled controls with a different ink/surface pair from enabled controls.
59
+ **Rule:** Give a disabled control its own ink and surface pair, and take the accent off it.
64
60
 
65
- **Why:** Opaque colours keep disabled text and surfaces readable.
61
+ **Do:** Unavailable reads as unavailable with the pointer nowhere near it.
66
62
 
67
- **Do:** Use opaque `--disabled-ink`, `--disabled-surface` and `--disabled-border`.
63
+ **Don't:** Unavailable keeps the live paint, so only the cursor reports the state.
68
64
 
69
- **Don't:** Fade the label and box together.
70
-
71
- **Except:** Labels must reach 3:1. Boxless ghosts use `--disabled-ink-bare`, floored at 4.89:1. Disabled controls must look weaker by changing the pair and removing accent. Only the label-free switch track may fade.
65
+ **Except:** A disabled label must stay legible, so the pair changes rather than fades. Only the label-free switch track may fade.
72
66
 
73
67
  ## Touch field text
74
68
 
@@ -76,58 +70,60 @@
76
70
 
77
71
  **Rule:** Set coarse-pointer field text to 16px without scaling it down.
78
72
 
79
- **Why:** iOS Safari zooms fields below 16px and does not zoom out.
73
+ **Why:** iOS Safari zooms into a field under 16px and does not zoom out. There is no specimen pair because the size answers to the pointer rather than the width, so both halves would draw the desktop size.
80
74
 
81
- **Do:** Apply real 16px text to `input`, `select` and `textarea`, including host fields.
75
+ **Do:** Real 16px text in the field itself.
82
76
 
83
- **Don't:** Scale 16px down with transforms or smaller computed text.
77
+ **Don't:** 16px scaled down, or a smaller computed size.
84
78
 
85
- **Except:** Preserve host fields above 16px with `!important` on a more specific selector. Checkbox, radio, range, colour, file and button types do not zoom. Do not remove pinch-zoom with `user-scalable=no` or `maximum-scale=1`. The host owns the viewport tag.
79
+ **Except:** A host field above 16px keeps its size. Checkbox, radio, range, colour, file and button types do not zoom. Never take pinch-zoom away; the host owns the viewport tag.
86
80
 
87
81
  ## Body contrast
88
82
 
89
83
  <!-- rule: body-contrast -->
90
84
 
91
- **Rule:** Aim for body text contrast close to 7:1, not merely 4.5:1.
85
+ **Rule:** Keep body text close to 7:1 at every size, not merely at 4.5:1.
92
86
 
93
- **Why:** Stronger contrast supports comfortable reading at every size.
87
+ **Why:** Stronger contrast supports comfortable reading at every size. There is no specimen pair because a pale example would break this rule in front of the reader.
94
88
 
95
- **Do:** Use body ink at every size, then vary size, weight or spacing for hierarchy.
89
+ **Do:** Body ink at every size, with size, weight and spacing carrying the hierarchy.
96
90
 
97
- **Don't:** Use pale body ink and rely on larger text for hierarchy.
91
+ **Don't:** Pale ink propped up by larger text.
98
92
 
99
93
  ## Status labels
100
94
 
101
95
  <!-- rule: status-label -->
102
96
 
103
- **Rule:** Show every status with both a mark and a word.
97
+ **Rule:** Name every status in words, not by its colour.
104
98
 
105
99
  **Why:** Colour alone is not reliably distinguishable.
106
100
 
107
- **Do:** Pair a status icon with text such as “Paused.”
101
+ **Do:** The word carries the status; the tone fill agrees with it.
102
+
103
+ **Don't:** A tone fill with the word taken out of it.
108
104
 
109
- **Don't:** Show success using green colour alone.
105
+ **Except:** A status badge needs no glyph or dot. A callout or toast keeps its glyph, because its words sit in a sentence rather than in a fill.
110
106
 
111
107
  ## Measurable pairs
112
108
 
113
109
  <!-- rule: measurable-pair -->
114
110
 
115
- **Rule:** Prefer opaque grounds behind text so contrast can be measured.
111
+ **Rule:** Keep text on opaque grounds so its contrast can be measured.
116
112
 
117
- **Why:** Gradients, filters and translucent layers make contrast uncertain.
113
+ **Why:** A gradient, filter or translucent layer puts the ink on more than one ground, so no single pair can be read off it.
118
114
 
119
- **Do:** Place text on an opaque surface with a measurable ink pair.
115
+ **Do:** One opaque ground under the whole sentence.
120
116
 
121
- **Don't:** Place text over a gradient, filter or translucent layer.
117
+ **Don't:** The same sentence crossing a gradient, where each word sits on a different pair.
122
118
 
123
119
  ## Keyboard first
124
120
 
125
121
  <!-- rule: keyboard-first -->
126
122
 
127
- **Rule:** Implement keyboard behaviour before pointer behaviour and styling.
123
+ **Rule:** Build keyboard behaviour before pointer behaviour and styling.
128
124
 
129
- **Why:** Keyboard access defines the interaction before visual polish.
125
+ **Why:** Keyboard access defines the interaction before visual polish. There is no specimen pair because this is an order of work: both halves look the same once they are finished.
130
126
 
131
- **Do:** Make focus, order and keyboard actions work before styling controls.
127
+ **Do:** Focus, order and keyboard actions working before anything is styled.
132
128
 
133
- **Don't:** Style pointer interactions before implementing keyboard behaviour.
129
+ **Don't:** Pointer styling first and keyboard behaviour afterwards.
@@ -6,6 +6,8 @@
6
6
 
7
7
  **Rule:** Labels, buttons, badges and status text name the field, action or state in a few words.
8
8
 
9
+ **Why:** A control is read in the moment before acting, not studied.
10
+
9
11
  **Do:** “Save invoice.”
10
12
 
11
13
  **Don't:** “Click here to save your invoice.”
@@ -16,6 +18,8 @@
16
18
 
17
19
  **Rule:** Use one sentence for needed units, dates or limits.
18
20
 
21
+ **Why:** The figure above the caption cannot say its unit, its period or what it leaves out.
22
+
19
23
  **Do:** “March revenue in EUR, excluding refunds.”
20
24
 
21
25
  **Don't:** “An overview of your revenue.”
@@ -26,6 +30,8 @@
26
30
 
27
31
  **Rule:** Add a short introduction only for a purpose or step the title and controls leave unclear.
28
32
 
33
+ **Why:** An introduction that repeats the title costs the reader their place on the page.
34
+
29
35
  **Do:** “Upload a CSV with invoice numbers, dates and amounts.”
30
36
 
31
37
  **Don't:** “Manage your invoices here.”
@@ -36,6 +42,8 @@
36
42
 
37
43
  **Rule:** Explain a consequence or next step in one or two sentences.
38
44
 
45
+ **Why:** A callout earns its interruption by naming the consequence and what to do about it.
46
+
39
47
  **Do:** “Deleting this workspace deletes its reports. Export them first.”
40
48
 
41
49
  **Don't:** “Think carefully before proceeding.”
@@ -48,6 +56,8 @@
48
56
 
49
57
  **Rule:** Cut text readers can decide and finish without.
50
58
 
59
+ **Why:** Every spare word is read before it can be discarded.
60
+
51
61
  **Do:** “Exports include only filtered rows.”
52
62
 
53
63
  **Don't:** “Export quickly and easily.”
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apliteni/apliteni-ui",
3
- "version": "0.73.0",
3
+ "version": "0.74.0",
4
4
  "workspaces": [
5
5
  "react"
6
6
  ],