- From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
- Date: Fri, 03 May 2024 22:09:17 +0000
- To: public-css-archive@w3.org
As a counter-example, and a demonstration of how we can't reasoanbly infer these relationship, consider a big grid of data, and the sorting controls are a positioned element anchored to it, just outside the grid and flush against its top edge ``` .data-table { anchor-name: --data-table; } .sort-controls { position: fixed; position-anchor: --data-table; inset-area: top span-right; /* outside the grid, this bottom edge against the grid's top edge */ justify-self: start; /* left edge aligned with the grid's left edge */ } ``` Here, you probably want the sort controls to show up in the tab order *before* the contents of the big data grid, by default. Contrast that with this commentary case: ``` .item { anchor-name: --item; } .comment { position: fixed; position-anchor: --item; inset-area: top span-right; justify-self: start; } ``` Here, you probably want it to read/tab the item's contents first, *then* go to the comment. The styles in these cases are *exactly identical*, the difference is purely contextual, not expressed in the style system at all. The correct thing to do is annotate these elements appropriately: in the first case, probably just `aria-controls` on the positioned element, pointing to the data grid, and maybe `aria-owns` on the grid pointing to the controls; in the second case, `aria-details` on the item, pointing to the tooltip, and `role=comment` on the comment. I simply don't think that either case can be reasonably inferred from the style system. I tried *really hard* to infer similar relationships from the style system when working on [CSS Toggle States](https://tabatkins.github.io/css-toggle/), but that also ended up being too complex and ambiguous to do anything useful. The final conclusion there was that we needed more targeted proposals that *did* naturally impose specific semantics - things like popover, `details` groups, and the in-early-development carousel-related properties. ----------- Note that "as an option" is still on the table; what I'm pushing back against is "as a default". If we want to make tab ordering more controllable *from CSS*, with some explicitly-designed properties, I think that's a *great* idea. But it goes beyond Anchor Positioning and is instead a separate feature that could be used much more broadly. -- GitHub Notification of comment by tabatkins Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9356#issuecomment-2093824795 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Friday, 3 May 2024 22:09:18 UTC