@NVAccess @jcsteh I appreciate your insights here. I am planning to open an issue on GitHub, but I first want to make sure it actually needs a separate issue.
Currently, when NVDA encounters bold or italic text in HTML, it displays that word or phrase on its own line in the virtual buffer. Just like with links, NVDA then places the following non-styled text directly after it on the same line. This means that when navigating with Up and Down arrows, you may encounter several new lines in the middle of a paragraph, each starting with one or more bold or italic words, followed by normal text. Besides making navigation more difficult, this behavior is not very useful. For example, in online dictionaries where one or more words in an example sentence are bold or italic, the virtual buffer does not show how many words at the start of the line actually have that formatting.
To see this issue, which is very easy to reproduce, go to the Merriam-Webster dictionary website and check the definition of “workaholic.” Here is the direct link:
https://www.merriam-webster.com/dictionary/workaholicIn the Examples section, the first example displays “My brother is a real” on one line, and on the next line it shows “workaholic who almost never takes time off.” The problem is even worse in the Recent Examples section. There, in addition to an italicized word inside the example, the name of the publication is also bold or italic, and NVDA breaks the paragraph even further and places each styled element on its own line.
At the very least, there should be a setting that toggles this behavior, so users can choose between the current mode and an alternative mode where bold, italic, and underline formatting does not break the virtual buffer into separate lines.
Also, when pressing Insert+F on text that is bold or italic, NVDA reports formatting details only at the end. For example:
“Open Sans 14.5 pt very dark pale aqua-blue on white bold italic align left.”
It would be better if NVDA announced bold, italic, or underline at the beginning instead of the end, similar to how JAWS does it. For example:
“bold italic align left Open Sans 14.5 pt very dark pale aqua-blue on white.”
I want to open an issue requesting NVDA to stop separating bold and italic text from surrounding words, or at least provide a toggle for it, and to improve how formatting information is announced in general. There should be more efficient ways to convey this information without altering the structure of the virtual buffer.