Report the presence of multiple annotations (#14507)
Stacked against #14480
Supersedes #14426
Summary of the issue:
Currently, NVDA only announces the first annotation target, and only announces the first annotation summary.
#14480 introduces the ability to cycle through multiple annotations targets.
This PR introduces announcing the presence of multiple annotation targets.
When multiple annotation targets are present with different roles, NVDA should announce them.
Example:
A footnote, a comment, and a no-role annotation are present
NVDA should announce "has footnote, has comment, has details" to make it easier for the user to find the annotation they want to interact with.
Description of user facing changes
When the annotation feature is enabled, NVDA will now report all the unique annotation target roles.
Description of development approach
From the virtual buffer, exposed comma separated values for the roles of annotation targets via the "detailsRoles" property.
Converted all aria-details functions to plural form (handling a collection rather than a single optional value).
Removed usages of, and deprecated nvdaObject.hasDetails, nvdaObject.detailsSummary, nvdaObject.detailsRole
These are replaced with new Annotations types