Skip to content

Implement PR #20096 properly and give the user a way to access the visible text in an object on a website #20135

@Emil-18

Description

@Emil-18

Is your feature request related to a problem? Please describe.

Known bugs of current implementation

  • When preforming commands such as move review cursor to the beginning/end of current navigator object, move navigator object to focus, etc, etc, it will use the IA2TextTextInfo in places where it now is supposed to always use the NVDAObjectTextInfo.
  • Mouse movement will still use the IA2TextTextInfo.
  • In Firefox, when tabbing through objects, the navigator object will use IA2TextTextInfo. When using object navigation, when switching from browse mode to focus mode, when switching from document review to object review, and when landing on an object in a Firefox document, when the navigator object was previously located in an object outside it, it works as intended
  • Reporting formatting info from the caret retreavs information, but doing it from the review cursor doesn't

Inability to read visible text in a web page element.

Sometimes it is useful to be able to read the visible text, if for example, the website has misused area-labeling

Describe the solution you'd like

Set the TextInfo to be NVDAObjectTextInfo on webpage elements that isn't navigable, and fix the issues this causes. This will also fix mouse tracking related issues.

Provide a way for users to read the visible text. This could be a setting, or a gesture that toggles this on for the current navigator object until it is moved. I don't know what is best. This could be implemented in an add-on, if you don't think it should be implemented in core

Describe alternatives you've considered

I considered the possibility of making a TextInfo that inherits first from NVDAObjectTextInfo, and then IA2TextTextInfo

Additional context

As @jcsteh referd to a details annotation case that broke when he attempted to implement this properly , I tested setting nav.TextInfo to NVDAObjectTextInfo in the console, and then called nav.annotations. An annotation object was returned, but I couldn't test if the properties on that object works as expected, as I don't know where those would return anything

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions