phetsims / phetsims/chipper

Revisit query parameters and package.json entries related to supported and designed features.

Open
#1,503 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dev:alt-input dev:description
Dominant language
TypeScript
Stars
17
Forks
20
PR merge metrics
No merged PRs in 30d

Description

Related to https://github.com/phetsims/models-of-the-hydrogen-atom/issues/67 and https://github.com/phetsims/scenery-phet/issues/876 ...

In https://github.com/phetsims/joist/issues/985, we discussed having a tiered approach to description features, with "levels of description". If that's the case, PhET may want to revisit the approach to enabling description features.

In package.json, there is currently one entry under "simFeatures" that turns all description features on/off. From initialize-globals.js:

    /**
     *
     * Enables interactive description in the simulation. Use this option to render the Parallel DOM for keyboard
     * navigation and screen-reader-based auditory descriptions. Can be permanently enabled if
     * `supportsInteractiveDescription: true` is added under the `phet.simFeatures` entry of package.json. Query parameter
     * value will always override package.json entry.
     */
    supportsInteractiveDescription: {
      type: 'boolean',
      defaultValue: !!packageSimFeatures.supportsInteractiveDescription
    },

With only a single entry, it's not possible to turn off work that is not completed or not ready for production. For example, MOTHA has a complete alternative input implementation, but an incomplete implementation for accessible names and help text. If PhET wishes to publish MOTHA with alternaive input, but turn off description, there is no way to do that.

PhET might want to have package.json entries (and associated query parameters) that correspond to the description tiers. For example, "supportsAlternativeInput", "supportsStateDescriptions", "supportsResponsiveDescriptions" (or whatever matches the eventual tiers).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the simFeatures entry in package.json and the supportsInteractiveDescription definition in initialize-globals.js, then review the linked joist, models-of-the-hydrogen-atom, and scenery-phet issues. The issue does not settle the description tiers or their names; done would require an agreed tiered configuration with matching package.json entries and query parameters.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
accessibility, build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.