Images with role=math but no actual mathml should be treated as normal images (#17832)
Fixes #16007
Summary of the issue:
In the past, many content publishers have been representing math equations as an image along with alt text containing some kind of plain-text math representation, rather than using actual mathml. However, they have also been placing role=math on these images, which confuses NVDA. The image then no longer is treated in browse mode like an image (it does not report graphic, you can't jump to it with g, nor can you arrow through the alt text character by character). And since there is no mathml for rich navigation, the equation cannot be navigated through at all.
Description of user facing changes
* Math equations represented by an image and alt text with no mathml for rich navigation, are now treated like normal images, rather than math with no content, allowing the user to jump to them with `g` and to be able to arrow through the alt text by character. (#16007)
Description of development approach
* gecko_ia2 c++ virtualBuffer: change the accRole from equation to graphic, if the `tag` IAccessible2 object attribute is `img`, as this Accessible represents an image, whose role has been inappropriately overridden to equation by an ARIA role of `math`. This then allows all standard logic for images to apply in Browse Moe for this node.
* in the math NVDAObject: change the role to graphic, if the accRole is equation and there is no mathml for this node. This correct reporting with object navigation.
Testing strategy:
* Tested with provided testcase on #16007
* Tested with standard mathml tests from NV Access
Known issues with pull request:
None known.