Skip to content

Add journey-based accessibility checks for complete user flows #62763

Description

@zavalit

Is your feature request related to a problem? Please describe.

The current axe checks are useful for finding accessibility issues on individual pages or UI states. Some issues, however, only appear while going through a complete flow, for example when opening dialogs, changing permissions, switching between users, accepting a federated share, or using the interface only with a keyboard.

It would be useful to test these flows as journeys and keep the accessibility results connected to the individual steps.

Describe the solution you'd like

I would like to explore using Journey Mesh as an additional layer for journey-based accessibility checks.

Journey Mesh describes a user flow as a User Journey Graph and executes it with Playwright. Axe checks can be run at relevant points in the journey, and the results can be connected to the state or interaction where they were found.

A first example could be federated file sharing between two Nextcloud instances:

  1. Alice shares a file with Bob on another instance.
  2. Bob receives and accepts the share.
  3. Axe checks run at relevant points in the flow.
  4. The same journey can also run with keyboard-only interaction.

There is already a proof of concept:

Image

This would not replace the current axe and Playwright checks. It would add coverage for longer, stateful, and cross-instance user flows.

A reasonable first step could be an experimental or scheduled CI job. I am happy to help adapt the current example, and changes or feature requests on the Journey Mesh side are welcome.

Describe alternatives you've considered

The same checks could be added directly to existing Playwright tests after each interaction. That may be simpler at first, but each test would need to manage its own scan points, interaction modes, evidence, and reporting.

Gherkin could make scenarios easier to read, but it would still need an execution and reporting layer to connect accessibility findings to specific journey states.

The existing page-level and component-level axe checks should remain. Journey-based checks would complement them.

Additional context

The current Journey Mesh integration is still a proof of concept. The report format, Nextcloud driver, test setup, and CI workflow can all be adjusted based on your feedback. You are also very welcome to open feature requests in the Journey Mesh repository for anything that would make the integration more useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    0. Needs triagePending check for reproducibility or if it fits our roadmapenhancement

    Projects

    Status
    To triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions