| id | vcup8d | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| name | Interactive component has size controlled by User Agent | ||||||||
| rule_type | atomic | ||||||||
| description | This rule checks that elements that can receive pointer events have a size controlled by the user agent. | ||||||||
| accessibility_requirements |
|
||||||||
| input_aspects |
|
||||||||
| acknowledgments |
|
This rule applies to any HTML element which can be targeted by a pointer event.
Each test target is a User Agent controlled component.
- This rule assumes that focusable
widgetare effectively clickable. If a widget is focusable without being clickable, it may fail this rule while Success Criterion 2.5.5 Target Size (enhanced) and Success Criterion 2.5.8 Target Size (minimum) are satisfied.
Hit testing isn't properly defined, and this has been an issue in the CSS specification for years. Therefore, different User Agents may perform it differently, resulting in different [clickable areas][clickable area] for the same element. As of February 2024, the ACT rules Community Group is not aware of actual cases resulting in significantly different [clickable areas][clickable area].
- Understanding Success Criterion 2.5.5: Target Size (enhanced)
- Understanding Success Criterion 2.5.8: Target Size (Minimum)
This checkbox is an User Agent controlled component.
<p id="accept">
<input aria-labelledby="accept" type="checkbox" />
I agree with the terms and conditions.
</p>These radio buttons have their size modified by the author and are therefore not User Agent controlled components. Their [clickable area][] is too small.
<style>
input[type='radio'] {
width: 1em;
height: 1em;
}
</style>
<fieldset>
<legend>Pick a color (required)</legend>
<label><input type="radio" name="color" value="blue" />Blue</label>
<label><input type="radio" name="color" value="yellow" />Yellow</label>
</fieldset>This button is not a User Agent controlled component.
<style>
#target {
width: 35px;
height: 35px;
border-radius: 0;
}
</style>
<button id="target" onclick="alert('hello')">Hi</button>These input elements and button are disabled and therefore not focusable.
<fieldset disabled>
<label>First name <input /></label><br />
<label>Last name <input /></label><br />
<button>submit</button>
</fieldset>This button cannot be targeted by a pointer event because it is entirely covered by the div element with a dashed red border.
<head>
<title>Inapplicable Example</title>
<link rel="stylesheet" href="/test-assets/target-size/shared-styles.css" />
<style>
.cover {
top: 0;
height: 50px;
width: 500px;
}
</style>
</head>
<body>
<button onclick="alert('hello')">Say Hello</button>
<div class="cover bad highlight"></div>
</body>