Fix empty edit fields not speaking in Microsoft Edge (#12475)
Fixes #12474
Fixes #12189
Empty edit fields aren't spoken in Edge. There's a bug in the UIA implementation that causes expand to line to fail when there is no text content in the object
Description of how this pull request fixes the issue:
1. Use the ChromiumUIA object overlay for text boxes in the Chrome/Edge interface. For Edge, this applies by default. For Chrome, this only applies to cases where experimental UIA support is enabled, but this is far from stable in Chrome itself.
2. On the ChromeUIATextInfo when expanding to line, check whether there's any text in the document range. If not, don't try to expand as it will break the range.
3. Make sure not to cache the TextInfo property on UIA objects.ChromiumUIATextInfo. This is necessary because the property is fetched before the overlay classes are added that might change the result of evaluating the property. This ensures the proper TextInfo is used on focus.