phetsims / tasks

General tasks for PhET that will be tracked on Github
MIT License
5 stars 2 forks source link

Improve documentation for accessibility-related features #1080

Open zepumph opened 3 years ago

zepumph commented 3 years ago

Interactive Description and other features developed by the a11y team are beginning to get adopted by the team in general greenhouse gas and eating, exercise and energy are both sims coming up this year that will have interactive description in them.

The first place to start is to make sure our documentation about this all is up to date. I will take a first pass as a quarterly goal. This includes:

zepumph commented 3 years ago

This is a quarterly goal right now, raising priority

zepumph commented 3 years ago

In scenery/doc/accessibility.html, I made it to "PhET Specific Information" I think that section should be completely moved out into the "how to add accessible interactive description to a sim" doc.

zepumph commented 3 years ago
zepumph commented 3 years ago

Summary of work thus far:

Still TODO:

zepumph commented 3 years ago

We are now ready for a review. @jessegreenberg please take a look first through the scenery accessibility documentation. Likely this needs larger work because it only talks about the PDOM as a feature, but it seems like a good start for now.

Next look at the Technical Guide. As thorough of a read through as you feel you have time for would be very helpful to progress project-wide understanding of ID as a feature.

Thanks!

jessegreenberg commented 3 years ago

This is all really great @zepumph, nice work. Here are the notes I took that may be worth considering. Starting with accessibility.html since reading that is a prerequisite for the technical guide.

accessibility.html

... then show example?

interactive-description-technical-guide

Between the two

zepumph commented 3 years ago

I am curious about the relationship between accessibility.html and the technical guide, do you think they should be combined? I noticed some slight overlap between the two. For example, the section on adding an input listener in the technical guide seemed like it might fit in an accessibility.html example.

I think that this is a really good point. My hope would be that the two documents have very distinctive differences. I want the scenery doc to be just about implementing the features, and the technical guide to be used as a "best practices" document. It is likely that they both still need a fair amount of work to get there.

zepumph commented 3 years ago

Other review comments have been done.

zepumph commented 3 years ago

I made it through review comments, but I'm still unsure about how much more I can do to further divide the two documents up. I would like to do much more! It may require some design time for me to sit down and think about a structure for both.

jessegreenberg commented 3 years ago

I made a change related to this to organize a11y docs so that other pages can be added. Under scenery/doc there is a new accessibility folder, and it now has "accessibility.html" and "voicing.html", and others can be added in the future.

jessegreenberg commented 3 years ago

In https://github.com/phetsims/scenery/issues/1241 @pixelzoom said

Finally... If you plan to writeup any developer instructions for hotkeys, it would be good to highlight the global nature of globalKeyStateTracker listeners, the importance of checking pdomDisplayed, and the importance of expression ordering for the if statement that short-circuits handlers. I don't know if such a doc is planned, so I'll leave that it up to @jessegreenberg whether/how to address documentation.

A section about global hotkeys would be great to add to this document so noting this here as part of this issue.

zepumph commented 11 months ago

@jessegreenberg do you still want to add a global hotkey section to the doc?

pixelzoom commented 11 months ago

Maybe global hotkeys should be defined in a source code file? External documentation will probably get stale.

It would also be bonus if something could error loudly if you try to use hotkey that's already used globally.