"Target Size Enhanced" - atomic rule#2279
Conversation
| @@ -0,0 +1,819 @@ | |||
| --- | |||
| id: gi8qkf | |||
There was a problem hiding this comment.
For first pass of review, please focus on global structure to se whether this is a good structure for the rule. We'll discuss details of the definitions later.
dan-tripp-siteimprove
left a comment
There was a problem hiding this comment.
The general structure looks good to me. I am interested in the definition of "inline". I look forward to that part.
carlosapaduarte
left a comment
There was a problem hiding this comment.
Great work so far. Looking forward to moving this one forward.
| title: Clickable area | ||
| key: clickable-area | ||
| unambiguous: true | ||
| objective: false |
There was a problem hiding this comment.
Why is this definition not objective?
There was a problem hiding this comment.
Because I feel that "topmost event target" is not really objective.
| - the element is [rendered on a line]; or | ||
| - the element is [User Agent controlled][user agent controlled component]; or | ||
| - the element has [essential size][]. |
There was a problem hiding this comment.
Just wondering if these should be in the expectation?
There was a problem hiding this comment.
The full point of #2214 and the CG discussion was to have them as Inapplicable 🤷
| </body> | ||
| ``` | ||
|
|
||
| ### Inapplicable |
There was a problem hiding this comment.
Shouldn't we have one with a clickable area that is not a semantic widget?
There was a problem hiding this comment.
🤔 Wouldn't that be bad for 1.3.1?
a <span onclick="alert('Hello')">Say hello</span> would fail 1.3.1. We can have one (with associated caveats), but I'm afraid it would cause problems for tools that do not have the same separation as ACT rules and would (rightfully) fail it.
Co-authored-by: Carlos Duarte <carlosapaduarte@gmail.com> Co-authored-by: Kevin White <kevin@w3.org>
✅ Deploy Preview for act-rules ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
| @@ -0,0 +1,37 @@ | |||
| --- | |||
| title: Observed as a pointer events target | |||
There was a problem hiding this comment.
Could the words "observed as" be cut out?
I know you added those words recently, so I assume you see considerable value in them. Still I must ask this, because when I first read those words, it made me wonder: is there another term called "pointer events target" that is different from "observed as a pointer events target"? If so, what does the venn diagram of these two sets look like? After I read the background and searched elsewhere for a minute, I arrived at the answers "no, or at least: not officially" and "n/a". If I'm the only reader that will go through that thought process: then it doesn't matter. If I'm not: then we have a cognitive load question here for future readers.
The background is essential commentary, but I'm not sure that it's essential to have it in the wording of the term itself. I figure most conversations about target size will just talk about "pointer event targets" and won't need to get into the details.
To summarize: the value of having "observed as" in the wording of the term itself is, IMO, outweighed by the cost of the added cognitive load.
| @@ -0,0 +1,19 @@ | |||
| --- | |||
| title: In a Block of Text | |||
There was a problem hiding this comment.
I was going to look at the examples of this PR via the new "deploy preview" functionality, which is here. When I clicked on the "Open in a new tab" links for the examples, they didn't work, because they're pointing to w3.org rather than deploy-preview-2279--act-rules.netlify.app. Is this a known limitation? If so, can I help fix it?
|
Please assign yourself if able to work on this PR as a complex one! |
|
|
||
| An element is _observed as a pointer events target_ when all the following conditions are true: | ||
|
|
||
| - the element is a [semantic `widget`][semantic role]; and |
There was a problem hiding this comment.
Question: Some "composite widgets" are actually not the real targets and should probably be ignored by this definition: "menu", "menubar", "tablist", "radiogroup", "listbox", "tree", "grid", "treegrid".
We need to look a bit more into that list to agree on it.
There was a problem hiding this comment.
I figure: let's start with the ARIA spec for "widget roles" where it gives us two lists:
Let list1 = "The following roles act as standalone user interface widgets or as part of larger, composite widgets".
Let list2 = "The following roles act as composite user interface widgets".
AFAICS the "clickable roles" are: list1 minus progressbar minus tabpanel plus listbox plus combobox.
minus progressbar because it's not clickable.
minus tabpanel because it's not clickable.
plus listbox because I figure the listbox is the first thing that the user clicks, and it could be smaller than the options which it contains. the "option" role (= child of listbox ~= HTML <option>) is already in list1.
plus combobox because in this APG combobox example the first / "outer" clickable thing is the element which has role="combobox". The other four APG combobox examples: same. I consulted the APG rather than the ARIA spec for this, because spec-wise, combobox is over my head. But I understand the APG examples well enough.
And I figure this rule is obliged to follow the ARIA spec wording that "separator (when focusable)" (that is: only when focusable) is included in list1.
I don't know what to do about <div tabindex="0" onclick="alert('yes')">x</div>.
There was a problem hiding this comment.
I don't know what to do about
<div tabindex="0" onclick="alert('yes')">x</div>.
I think this is handled by the Background of that definition:
Not all HTML elements that can actually be targeted by a pointer event match this definition. For example, an author may build custom buttons without giving them an appropriate role or making them [focusable][]; or content overflowing the [border box][] of an element is clickable, but that element might not match the definition if the [border box][] is off-screen. Elements that can actually be targeted by pointer events but do not match this definition likely fail either [Success Criterion 4.1.2 Name, Role, Value][sc412] or [Success Criterion 2.1.1 Keyboard][sc211].
There was a problem hiding this comment.
This will make a great boundary/verbose example one day.
New take at "Target Size" rule, as an automated rule with definitions, following CG decision.
For first pass, please focus reviews on the overall structure rather than the details of each definition 🙂
Closes issue(s):
Need for Call for Review:
This will require a 2 weeks Call for Review (new rule)
Pull Request Etiquette
When creating PR:
developbranch (left side).After creating PR:
Rule,DefinitionorChore.When merging a PR:
How to Review And Approve