Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalize the a11y view to work in other contexts #1512

Open
jessegreenberg opened this issue Nov 1, 2024 · 3 comments
Open

Generalize the a11y view to work in other contexts #1512

jessegreenberg opened this issue Nov 1, 2024 · 3 comments

Comments

@jessegreenberg
Copy link
Contributor

The a11y view makes assumptions about its context so that it can hook into a sim. @brettfiedler said that there was a POSE interest in generalizing it so that it could be used for things that are not PhET simulations.

@brettfiedler @jonathanolson FYI.

@marlitas
Copy link
Contributor

@samreid We discussed this during the description/voicing roadmap meeting, and it came up that this might be a useful topic for Google Summer of Code. As well as any other outside contribution partnership.

@samreid
Copy link
Member

samreid commented Dec 10, 2024

@brettfiedler or @jessegreenberg can you please provide more context and direction here so the scope and proposal is more fully specified?

@jessegreenberg
Copy link
Contributor Author

Scenery supports accessibility by creating an invisible HTML subtree that can be found with assistive technology. PhET created an "a11y view" to display that content for development and demo purposes. The a11y view and its implementation are specific to PhET simulations. It may be more useful to others if it could be used with other SceneryStack applications too.

The a11y view gets information from PhET simulation specific globals and tooling. To be used for other contexts, that needs to be removed or generalized.

In a quick scan I found the following things that might need to change:

  • Variables like {{PHET_SIM_TITLE}} and {{PHET_SIM_URL}} need to be removed/replaced. We would need a way to generate the a11y view without that information.
  • Remove/replace usages of phet.sim.joist and other simulation specific globals.
  • Replace the way the filename is constructed for the iframe.
  • The a11y view has code specific to built PhET simulations so it can run on phet-server, that should be removed.

And then any other features or improvements that would make it more useful as a general tool. Some ideas about design improvements are in #1510.

Maybe we would support an a11y view system in scenery, and make it extensible so that these PhET specific things could be added for our use.

The template and most of the implementation lives in chipper, called sim-a11y-view.html. Other related files are generateA11yViewHTML.ts and getA11yViewHTMLFromTemplate.

@jessegreenberg jessegreenberg removed their assignment Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants