Google Slides is a rich text editor even in areas the user can't type, in order to support all types of paste. It needs to be a contenteditable for us to handle all the various paste situations (including middle click).
When something within slides gets focus (like a thumbnail of a slide), we set aria-activedescendant on the <div contenteditable>. But we also need to select the inner contents of the item so that paste works correctly. This causes NVDA to read the item twice -- once for focus and once for selection.
To fix this we must turn off the EDITABLE state for focused widgets in a contenteditable. Rather than whitelist the widget roles we can simply look for the target of a contenteditable that is not itself editable or neutral. Specifically, turn off the editable state for descendant elements of a contenteditable that are both the target of an activedescendant and are not role="textbox"/"searchbox", and have some kind of native or ARIA role (they are not just a div).
Comment 1 by aleventhal@chromium.org
, Jul 13