Skip to content

Conversation

mbgower
Copy link
Contributor

@mbgower mbgower commented Aug 25, 2025

Partially addresses discussion emerging from #3376, by clarifying that the only targets that are assessed for spacing are those that are not otherwise excepted from the target size requirement #3376 (comment)

Attempt to clarify the intended meaning of what constitutes an undersized target
attempt to tweak parenthetical language for clarity
@mbgower mbgower added ErratumRaised Potential erratum for a Recommendation Normative labels Aug 25, 2025
Copy link

netlify bot commented Aug 25, 2025

Deploy Preview for wcag2 ready!

Name Link
🔨 Latest commit 33c7a71
🔍 Latest deploy log https://app.netlify.com/projects/wcag2/deploys/68b1d4c63ec5200008ded8e7
😎 Deploy Preview https://deploy-preview-4584--wcag2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@patrickhlauke
Copy link
Member

This does get tricky though, because the other target may be excepted not just under the inline clause, but any of the other ones. So for example, you may have a target (target 1) that is too small, but lacks enough spacing to another target - and this second target (target 2) is also too small, but this one has an equivalent. so, while it's fine that THAT one (target 2) has an equivalent, this still doesn't solve the fact that our original target (target 1) is too small and too close to the other target (target 2).

@mbgower
Copy link
Contributor Author

mbgower commented Aug 25, 2025

This does get tricky though, because the other target may be excepted not just under the inline clause, but any of the other ones. So for example, you may have a target (target 1) that is too small, but lacks enough spacing to another target - and this second target (target 2) is also too small, but this one has an equivalent. so, while it's fine that THAT one (target 2) has an equivalent, this still doesn't solve the fact that our original target (target 1) is too small and too close to the other target (target 2).

But if there is sufficiently sized equivalent target to a small target 2 , it doesn't matter if you can't hit target 2; that's the whole point of excepting a small target with an equivalent.

This is the case for all the excepted items. They are beyond either the author's ability or need to control.
If you go back in the history of this SC's language, the spacing was part of the normative wording (but read very awkwardly). That is, the target was assessed for size or spacing unless it was excepted. In an attempt to make it more readable, we moved the spacing in as a bullet, but the clear intent was that you assessed targets for size (or spacing) except for inline, user agent, redundant (equivalent) or essential.

our original target (target 1) is too small and too close to the other target (target 2).

Also, we are assessing spacing for target 1. It will be spaced sufficiently (e.g., its circle space check will not intersect with target 2).

@patrickhlauke
Copy link
Member

patrickhlauke commented Aug 25, 2025

But if there is sufficiently sized equivalent target to a small target 2 , it doesn't matter if you can't hit target 2; that's the whole point of excepting a small target with an equivalent.

but target 1 is also small, but your edit suggests says that spacing can't take target 2 into account because THAT one is excepted already...and target 1 is just small, and has no equivalent, etc

EDIT: ah, hang on, i seem to have misread the edit you're proposing... thought your parenthetical was referring to which targets to check against. ignore me...

EDIT 2: well, re-re-reading it...I think my original confusion is due to the fact that the wording almost seems to suggest that targets exempted under any other bullet are excluded from the list of comparisons. because it may not be obvious that you need to perform the check for two targets "both ways". once, considering target 1. then, considering target 2. it's not just one single comparison (in which case exempting one would obviously make it pass for both of them). think it's down to the overall awkward original wording...

@patrickhlauke
Copy link
Member

patrickhlauke commented Aug 25, 2025

maybe a more convoluted, but more explicit rewrite that avoids some potential confusion (though it does become admittedly unwieldy):

Each undersized target (those less than 24 by 24 CSS pixels) which does not already come under any of the other exceptions for this criterion is positioned so that if a 24 CSS pixel diameter circle is centered on the bounding box of each target, the circle for the target does not intersect any other target or its circle;

moving the exception bit out of the parenthetical removes the suggestion that the "undersized target" definition includes that stipulation

@@ -8,7 +8,7 @@ <h4>Target Size (Minimum)</h4>
<p>The size of the <a>target</a> for <a>pointer inputs</a> is at least 24 by 24 <a>CSS pixels</a>, except when:</p>
<dl>
<dt>Spacing</dt>
<dd>Undersized targets (those less than 24 by 24 CSS pixels) are positioned so that if a 24 CSS pixel diameter circle is centered on the <a>bounding box</a> of each, the circles do not intersect another target or the circle for another undersized target;</dd>
<dd>Undersized targets (those less than 24 by 24 CSS pixels which are not excepted under another bullet) are positioned so that if a 24 CSS pixel diameter circle is centered on the <a>bounding box</a> of each, the circles do not intersect another target or the circle for another undersized target;</dd>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<dd>Undersized targets (those less than 24 by 24 CSS pixels which are not excepted under another bullet) are positioned so that if a 24 CSS pixel diameter circle is centered on the <a>bounding box</a> of each, the circles do not intersect another target or the circle for another undersized target;</dd>
<dd>Each undersized target (those less than 24 by 24 CSS pixels) which does not already come under any of the other exceptions for this criterion is positioned so that if a 24 CSS pixel diameter circle is centered on the bounding box of each target, the circle for the target does not intersect any other target or its circle;</dd>

@patrickhlauke
Copy link
Member

Discussing this in today's backlog, one possible proposal I suggested, which seems to have potential:

  • move the "Spacing" exemption to the end (after "Essential") to make it clear that it's the last resort exemption
  • start the prose of the exemption with something like "If the target does not already fall under any other exemptions, ..." and then just have the existing wording (minus the parenthetical "smaller than 24x24" because you wouldn't even BE in that list of exemptions if it wasn't, so it's redundant)

Will try to make an actual commit to this PR branch if that's ok, @mbgower (as this is a bit more involved than making an in-situ correction, and would get messy trying to do in the GitHub interface itself)

@patrickhlauke patrickhlauke marked this pull request as draft August 29, 2025 16:27
@patrickhlauke
Copy link
Member

Also, if you don't mind, I've changed this to a "Draft" issue here for now, as we're still panel-beating the structure of the change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ErratumRaised Potential erratum for a Recommendation Normative
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants