#978: CSS reading-flow property
Discussions
Discussed
Oct 1, 2024 (See Github)
Matthew: i'm researching - we discussed at TPAC - a fundamental question is : we did talk about this in CSS but the minutes haven't appeared yet.
Yves: finds minutes and minutes
Matthew: will look more into it and see if question I had was answered... A question I had around the whole conversation of reading order. Talking about focus navigation and not how the DOM order is exposed - virtual cursor navigation. That follows the DOM order. There's been discussion on whether that needs to change as well.
... tables or things that look like tables...
... the current stuff, good progress is being made...
Discussed
Oct 1, 2024 (See Github)
Matthew: Haven't reviewed this yet.
Discussed
Oct 1, 2024 (See Github)
Ditto
Discussed
Nov 1, 2024 (See Github)
Matthew: a few thoughts... some general issues - and specific a11y discussions. I haven't seen anything in this proposal that's concerning. But a couple of things - reading the spec from the CSS WHATWG side... About reading flow in general ... Specific words & phrases might have an a11y implication - e.g. sequential navigation order is clear, but "speech order" is being referred to in the spec... https://drafts.csswg.org/css-display-4/#order-accessibility CSS WG is capable... But APA and CSS might need to get together to understand these common terms... So no specific concerns about this review but I think APA needs to talk to CSS... Action on me. ... when I read the spec it's more focused on the order of interactive elements... could supersede tab index.
Jeffrey: my sense is that this should affect the a11y tree. No definition of how html turns into an a11y tree...
Matthew: one interesting thing - talks about the difference between source order and display order. If it does effect a11y tree then why not just reorder source?
Tess: The a11y tree comes from the render tree. But different ATs are different.
some discussion on this point
Peter: would be good to have a reference in the CSS spec.
Matthew: also the explainer is in a personal repo.
Jeffrey: Will poke. It should be in "explainers by googlers"...
Matthew: "render to speech" different from the "focus order".
Jeffrey: it's the wrong term, regardless... Seems like a good issue to file with CSS.
Peter: just go ahead and post your points to the public thread.
Discussed
Nov 1, 2024 (See Github)
Matthew: as expected - the thing I was checking for was confirmed - leads to another question... it does effect everything - from the a11y tree it will impact the visual order. The question next : whether this means - e.g. if you have masonry layout if there is a change in the viewport size and the layout gets changed, should we need events to AT to let it know... Usually don't need this but I don't know. I could ask an AT vendor... perhaps we should ask this question about whether assistive technologies had got far enough down the path to know this... Given we've got the 2 people in this thread - I'll post the question and then redirect to an APA thread if so...
Dan: just post that in our thread then...
Discussed
Nov 1, 2024 (See Github)
Matthew: Will post comment soon (before plenary)
Discussed
Nov 1, 2024 (See Github)
Matthew: I need to reply with a comment...
Peter: we were happy to close it last week... had your question on the a11y order...
Matthew: we were wondering if they were aware of / work with AT vendors... APA is asking our contacts... Will post later today and then we can close it.
Peter: is there a defined eventing system for a11y tools that aren't js?
Matthew: it's outside of the viewport... There are several different APIs that these tools use to talk to the browser. It's something we're (APA) looking into separately. From the spec perspective it maybe shouldn't be in the spec - or it might be an editor's note.
Peter: there should be a spec for all of that - standardized behaviour across all browsers.
Comment by @matatk Nov 6, 2024 (See Github)
Hi @dizhang168, thanks for your review request. I have an accessibility question: the examples that I've seen in the explainers concentrate on showing how the (keyboard) focus navigation order, and visual rendering order, would be kept in synch when using reading-flow
(which will be great, especially for masonry layout).
The examples I've seen all use interactive elements (specifically <buttons>
) to demonstrate this. I just want to confirm: would this re-ordering apply to all content (i.e. not just interactive elements), though? (I am thinking of the case where, for example, a screen reader user would be navigating via their virtual cursor, following the order of content in the accessibility tree.)
From the explainers, and CSS spec, I imagine the intention is for the ordering to affect all content (not just interactive elements) - effectively the accessibility tree will come from the visual order, rather than source order.
Am I understanding this correctly?
Comment by @tabatkins Nov 6, 2024 (See Github)
Correct, focusable elements are just the easiest way to demonstrate this without requiring people to run a11y software themselves.
Comment by @dizhang168 Nov 6, 2024 (See Github)
Yes, this feature is for both focus navigation and the accessibility tree (the order in which AX nodes are added to the tree).
Comment by @matatk Nov 20, 2024 (See Github)
Thank you @tabatkins, @dizhang168 for confirming (also, that is a neat idea and inclusive approach, re the examples). One further thing that came up in APA WG's discussion (HT @AutoSponge) is: we were wondering if there may be a need (practical/implementation or otherwise) for signals from the UA to the AT when a big reflow occurs (especially thinking of the Masonry case).
We are also following up with our AT vendor contacts, to see how much (if any) caching of the accessibility tree they do. If they don't need to do any, it may not be an issue, but if they do, such signals may be needed to ensure the reflowed layout is reflected.
If you have any thoughts on this, do let us (or APA WG may be a good avenue—you could use the "a11y-tracker" label) know. If we find out anything interesting, we'll feed it back to you.
Comment by @dizhang168 Nov 21, 2024 (See Github)
I don't think implementation wise it will be an issue. When the grid/flex/masonry layout gets created, the rendering-defined sibling reading flow gets stored. So, for the AT, the additional step is just looping these reading flow items (no need to calculate on the fly). If we do need to send a signal, it should be trivial to add.
OpenedJul 31, 2024
こんにちは TAG-さん!
I'm requesting a TAG review of the CSS reading-flow property.
The CSS Working Group has resolved to add the new reading-flow property (https://github.com/w3c/csswg-drafts/issues/8589, spec) to enable focus navigation in visual order for layout items that might not be displayed in source order (such as grid, flex and masonry items). Chromium is implementing the new property and opened a https://github.com/whatwg/html/issues/10407 on the needed HTML spec change.
Further details: