-
Notifications
You must be signed in to change notification settings - Fork 230
/
pointer-target-spacing.html
151 lines (111 loc) · 9.55 KB
/
pointer-target-spacing.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE html>
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8"></meta>
<title>Understanding Pointer Target Spacing</title>
<link rel="stylesheet" type="text/css" href="../../css/editors.css" class="remove"></link>
</head>
<body>
<h1>Understanding Pointer Target Spacing</h1>
<section id="status" class="advisement">
<h2>Status</h2>
<p>This understanding document is part of the <a href="https://w3c.github.io/wcag/guidelines/22/"><strong>draft</strong> WCAG 2.2 content</a>. It may change or be removed before the final WCAG 2.2 is published.</p>
</section>
<section class="remove">
<h2>Pointer Target Spacing Success Criteria text</h2>
<blockquote>
<h4>Pointer Target Spacing</h4>
<p class="conformance-level">AA</p>
<p class="change">New</p>
<p>For each target, there is an area with a width and height of at least 44 CSS pixels that includes it, and no other targets, except when:</p>
<ul>
<li><strong>Enlarge:</strong> A mechanism is available to change the CSS pixel size of all targets so that the width and height are each at least 44 CSS pixels;</li>
<li><strong>Inline:</strong> The target is in a sentence or block of text;</li>
<li><strong>Essential:</strong> A particular presentation of the target is essential to the information being conveyed.</li>
</ul>
<p class="note">This criteria has been formulated to increase the hit-area of small targets, but the group would like feedback from providers of touch-screen devices if there is another way of forming the criteria to better complement the tap-heuristics used.</p>
<p class="note">Are there issues with internationalization when describing inline links?</p>
<p class="note">Are there issues with pop-over content overlapping targets triggering failures?</p>
</blockquote>
</section>
<section id="intent">
<h2>Intent of Pointer Target Spacing</h2>
<p>The intent of this success criteria is to ensure targets can easily be activated without accidentally activating an adjacent target. When touch targets are small, it is difficult for users with hand tremors and those who have difficulty with fine motor movement to activate them accurately. Providing spacing between touch targets will reduce the likelihood of accidentally activating the wrong control.</p>
<p>The requirement is for targets that are smaller than 44 x 44px to be included in an area with a width and height of at least 44px each. For the horizontal dimension, this means that the total width of 44px is composed of the width of the target and the width of the spacing that separates it from adjacent targets. The same apllies to the height. For example, a target of 24 x 24px would meet the requirement if it had a spacing of 10 px on all sides. If the target is 44 x 44px or larger, no spacing between it and adjacent targets would be required.</p>
<p>There are three exceptions:</p>
<ol>
<li>If there is a mechanism to change the target sizes or spacing to meet the minimum, such as a button to change the sizes and layout of the targets.</li>
<li>If the target is inline within a sentence there doesn’t need to be a minimum target size.</li>
<li>If the spacing of the targets is essential to the information being conveyed there doesn’t need to be a minimum target size.</li>
</ol>
<h3>Scope and applicability</h3>
<ul>
<li>The requirement holds independently of the zoom factor of the page. This means that authors cannot meet it by claiming that the target will have enough spacing or sufficient size if the user zooms into the page.</li>
<li>The requirement holds for all interactive elements that do not fall under the inline exception (including native elements like selects, buttons or inputs of type radio or checkbox).</li>
<li>While the Success Criterion primarily helps touch users by ensuring that activation with the 'fat finger' will not accidentally trigger adjacent targets, it is also useful for mouse or pen users. It reduces the chances of erroneous activation due to a tremor or some other input imprecision.</li>
</ul>
<p>As mobile devices generally have internal heuristics to identify which link is closest, spacing can work as effectively as a larger target size.</p>
<figure id="pointer-target-44x44">
<img src="img/pointer-target-example1.png" alt="A series of icons with measures showing they are each 44 by 44 pixels wide and high." />
<figcaption>When links are 44 by 44 CSS pixels they pass this success criteria</figcaption>
</figure>
<figure id="pointer-target-38x38-spacing">
<img src="img/pointer-target-example2.png" alt="A series of icons with measures showing they are each 38 by 38 pixels wide and high, with 6 pixel spacing between them." />
<figcaption>The top edge of a control and the top edge of the control below it are at least 44 CSS pixels apart so they pass this success criteria.</figcaption>
</figure>
<p>Another example is where targets may be different shapes which can be impacted by other targets nearby.</p>
<figure id="pointer-target-44x20-spacing">
<img src="img/pointer-target-example3.png" alt="A series of icons which are 44px wide and 20px high. There are no targets above or below." />
<figcaption>Each target has sufficient size and space to pass this criteria.</figcaption>
</figure>
<figure id="pointer-target-44-20-nospace">
<img src="img/pointer-target-example4.png" alt="A series of icons which are 44px wide and 20px high, with other targets above and below with only 2px spacing. One of the horizontally aligned links is also too small at only 32px wide with no spacing." />
<figcaption><strong>Fail:</strong> The small targets with other links in close proximity do not pass this success criteria.</figcaption>
</figure>
<p>Where targets are embedded inside another target, having it on the edge of the target so that it has spacing is a method of passing this criteria.</p>
<figure id="pointer=target-embedded">
<img src="img/pointer-target-example5.png" alt="Three examples of a picture, which is a target, and an magnifying glass icon. In the first example it is outside the picture and passes. The second example it overlaps with the picture and passes. The third example the icon is within the picture and it is not large enough to pass." />
<figcaption>@@@ Redo the images. Targets that are smaller than 44 x 44px meet the Success Criterion if they have enough adjacent spacing even if they are flush with a larger target or even overlap it. If the small target sits on top of the larger target, it is surrounded by an active click area and therefore needs to be at least 44px in width and height to meet the success criterion.</figcaption>
</figure>
<p>Users with different disabilities may have different needs for control sizes. Changing the control size is one way but not the only way to increase space between controls. It can be beneficial to provide an option to increase target area without increasing control size or provide a mechanism to control the density of layout and thus potentially change the target size of controls can be beneficial to a wider range of users. For example, users with visual field loss may prefer a more condensed layout with smaller sized controls while users with other forms of low vision may prefer large controls.</p>
</section>
<section id="benefits">
<h2>Benefits of Pointer Target Spacing</h2>
<ul>
<li>Users who use a mobile device where touch screen is the primary mode of interaction;
Users with mobility impairments such as hand tremors;</li>
<li>Users who use a mobile device in environments where they are exposed to shaking such as public transportation;</li>
<li>Users who have difficulty with fine motor movements;</li>
<li>Users who access a device using one hand;</li>
<li>Users with large fingers, or who are operating the device with only a part of their finger or knuckle.</li>
</ul>
</section>
<section id="examples">
<h2>Examples of Pointer Target Spacing</h2>
<ul>
<li>Three buttons are on-screen and the touch target area of each button is 44 by 44 CSS pixels.</li>
<li>Links within a paragraph of text have varying touch target dimensions. Links within paragraphs of text do not need to meet the 44 by 44 CSS pixels requirements.</li>
</ul>
</section>
<section id="techniques">
<h2>Techniques for Pointer Target Spacing</h2>
<section id="sufficient">
<h3>Sufficient Techniques for Pointer Target Spacing</h3>
<ol>
<li>
<a href="../../techniques/css/target-padding.html" class="css">Adding padding around links</a>
</li>
</ol>
</section>
<section id="advisory">
<h3>Additional Techniques (Advisory) for Pointer Target Spacing</h3>
</section>
<section id="failure">
<h3>Failures for Pointer Target Spacing</h3>
</section>
</section>
<section id="resources">
<h2>Resources</h2>
</section>
</body>
</html>