Skip to content

Feedback on aria-flowto mapping for Android in Core AAM #269

Open

Description

@dtsengchromium

Proposed mappings for discussion:
1. map to Android traversal before/after
- will modify accessibiltiy service default navigation order e.g. TalkBack swipe right
- will only observe the first aria-flowto item if more than one is supplied
2. do not map at all

Concerns/Questions:
- potential for misuse e.g. cycles in the page
- limited usage e.g. for aria-flowto with more than one node ref

Activity

  1. transferred this issue fromw3c/ariaon Sep 1, 2026
  2. cookiecrook commented on Sep 3, 2026

    @cookiecrook
    Contributor
  3. css-meeting-bot commented on Sep 3, 2026

    @css-meeting-bot
    Member

    The ARIA Working Group just discussed Feedback on aria-flowto mapping for Android in Core AAM, and agreed to the following:

    • RESOLUTION: Android not to map aria-flowto
    • RESOLUTION: re-open/open issue on deprecation of flowto
    The full IRC log of that discussion <Zakim> agendum 6 -- [Feedback on aria-flowto mapping for Android in Core AAM](https://github.com//issues/269) -- taken up [from jamesn]
    <front-endian-jane> jamesn: This is similar to the last one?
    <jcraig> q+
    <jamesn> q+
    <Matt_King> q+
    <front-endian-jane> David: this is trickier and more nuanced. This attribute isn't used currently it seems. Some ATs tried but it didn't work very well. it's a pretty dramatic feature that changes the reading order. The choices the Android team considered are to try to support the case where there is only one element (Android has a property to support that) or to make it unmapped. We could fully support it with a list of next nodes.
    <jamesn> Ack jc
    <spectranaut_> for context, here are the links jcraig is talking about: https://github.com//issues/269
    <front-endian-jane> jcraig: I opened an issue a while ago about aria-flowto which got a lot of comments. We decided to keep it for now, but then replace it once there is a suitable replacement. We are now 3 years from that decision. Voiceover or iOS did map this, but because of the problems (it's single direction, there is no return stack, multiple items can flow to the same element). What iOS Voiceover did was have a rotor to switch modes to escape
    <front-endian-jane> loops. If you don't want to map it due to all those problems it would help us deprecate it, which is what this really needs.
    <front-endian-jane> s/loops. If you/... loops. If you/
    <jamesn> Ack jamesn
    <front-endian-jane> David: Sometimes the team asks where is this used, where is it useful. I don't have an example but if someone has one I'd love to hear it.
    <jamesn> Ack Matt_King
    <front-endian-jane> jamesn: I echo a lot of what James Craig said. There are so many problems I'd rather you not map it than map it and have to engineer around a bunch of known problems. I can't think of a good use case.
    <front-endian-jane> Matt_King: I strongly endorse what both James' said. Mapping it would increase the technical debt of future changes. I am open to deprecating it more now than 3 years ago.
    <front-endian-jane> jamesn: I am also in favor of deprecation.
    <pkra> q+
    <front-endian-jane> jcraig: I am in favor of deprecation and can open a ticket.
    <pkra> q-
    <jamesn> RESOLUTION: Android not to map aria-flowto
    <front-endian-jane> jcraig: Note that deprecation means it is still in the spec and marked as deprecated. It makes it clearer why some platforms don't map it.
    <jamesn> RESOLUTION: re-open/open issue on deprecation of flowto
    <jamesn> q?
    <front-endian-jane> zakim, next item
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions