Skip to content

Create advanced option for experimental reporting of annotations#12409

Merged
seanbudd merged 5 commits into
masterfrom
add-annotations-settings
May 19, 2021
Merged

Create advanced option for experimental reporting of annotations#12409
seanbudd merged 5 commits into
masterfrom
add-annotations-settings

Conversation

@seanbudd

@seanbudd seanbudd commented May 13, 2021

Copy link
Copy Markdown
Member

Link to issue number:

None

Summary of the issue:

If we are to start introducing experimental support for reporting annotations, it should be hidden behind an opt-in option in advanced preferences.

Description of how this pull request fixes the issue:

Adds a config setting in Advanced NVDA preferences to enable the discovery of "has details" in browseMode

Testing strategy:

Manual verification that the control is accessible both by mouse and tab navigation, and resets to default.

userGuide entry is shown when using f1 to view help for the settings group.

Known issues with pull request:

This should wait until after alpha is merged to beta, as a featureless flag should not be released.

Change log entries:

None needed, when the feature is introduced the changelog item can be added

Code Review Checklist:

  • Pull Request description is up to date.
  • Unit tests.
  • System (end to end) tests.
  • Manual tests.
  • User Documentation.
  • Change log entry.
  • Context sensitive help for GUI changes.

@seanbudd seanbudd requested a review from a team as a code owner May 13, 2021 05:14
@seanbudd seanbudd requested a review from michaelDCurran May 13, 2021 05:14
@seanbudd seanbudd changed the title create config flag for annotations Create advanced option for experimental reporting of annotations May 13, 2021
@CyrilleB79

Copy link
Copy Markdown
Contributor

Hi
Could you explain why you do not create the option in the same PR as the feature?

@seanbudd

Copy link
Copy Markdown
Member Author

Hi
Could you explain why you do not create the option in the same PR as the feature?

It allows this work to be reviewed while the rest is worked on.

@seanbudd seanbudd requested a review from feerrenrut May 14, 2021 00:26
@CyrilleB79

Copy link
Copy Markdown
Contributor

Well, IMO, having a PR developing half of a feature does not help to do a good review.
For example, when a new option is added in the UI, I usually check that context help is working. In the current PR, there is a new context help anchor, but the User Guide does not yet have the corresponding paragraph. I guess it will be documented in the other PR.
But there is a chance that the context help check is missed during the review.
Anyway, at the end, it's up to you and other NVAccess guys to decide how to proceed.

So here are already the points I can note; feel free to ignore it if you consider it is part of the other PR:

  • Context help not working: corresponding paragraph missing in the user guide
  • Context help anchor name: AdvancedSettingsAnnotationsDetails -> AnnotationsDetails ; indeed Reef recommended not to include category name in the anchor name since the option may move from one category to another in the future, especially true for advanced settings options.
  • The config option does not control anything (probably expected since part of the other PR)

@seanbudd seanbudd marked this pull request as draft May 17, 2021 03:02
@seanbudd seanbudd marked this pull request as ready for review May 17, 2021 03:16
@seanbudd seanbudd requested a review from a team as a code owner May 17, 2021 03:16
@seanbudd seanbudd requested a review from Qchristensen May 17, 2021 03:16
@seanbudd

seanbudd commented May 17, 2021

Copy link
Copy Markdown
Member Author

Thanks @CyrilleB79,

I think this is all very useful PR feedback. I've updated the userGuide, this was actually unintentionally missed (still new here!). Soon, it can be updated to include the command when that piece of work is merged in. The feature here is a flag for developers and keen alpha users to opt-in for as rolling support is added. The userGuide may need to be updated further to reflect future work.

allowInChromium = integer(0, 3, default=0)

[annotations]
reportDetails = boolean(default=false)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For some experimental features I advise using an integer, so that we can have 3 way selections: (new behavior, old behavior, and default). This allows us to differentiate between those who have explicitly turned off a feature, and those who have just left it as the default. I think this situation is more important if we expect the flag to be long lived, and the default behavior to change.

For annotations I think a boolean is fine, since I hope we are able to remove the option once we are happy with the behavior. A bool allows us to turn it on to test, but most users won't be bothered by a half implementation.

Just to illustrate my first point. Imagine we want to do the following:

  • Add a new feature, default to "off", behind a flag for dev purposes.
  • Later when the implementation is complete, it stays configurable, but default to "on". We want all users to give it a try, but we are aware that it won't work for everyone.

Meanwhile:

  • User A, aware of the early development, decides that feature is not for them. Chooses to disable it. We don't want to change their explicitly chosen preference.
  • User B, not aware of the feature. They should try the feature when the default is changed to "on".

@feerrenrut feerrenrut left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good. It is a bit weird that this is not connected to anything. But given we are at the start of a dev cycle I don't think this is really a big deal. There is more ongoing here, and this allows it to be broken down more easily, the down side is minor.

@Qchristensen Qchristensen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

User Guide change looks good, thanks!

@seanbudd seanbudd merged commit c4de394 into master May 19, 2021
@seanbudd seanbudd deleted the add-annotations-settings branch May 19, 2021 00:56
@nvaccessAuto nvaccessAuto added this to the 2021.2 milestone May 19, 2021
seanbudd added a commit that referenced this pull request May 26, 2021
#12364 added a command to read the summary of the aria-details. To know whether or not an object has details, this should be reported. However, new users might not want to use this feature so #12409 added a config setting to opt-in.

Description of how this pull request fixes the issue:
Discards the "has details" state change message unless the annotations config option is turned on.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants