Date: | October 2, 2003 / year-entry #81 |
Tags: | tipssupport |
Orig Link: | https://blogs.msdn.microsoft.com/oldnewthing/20031002-00/?p=42313 |
Comments: | 10 |
Summary: | Because Windows thinks a screenreader is running. If a screenreader is running, then the Advanced Options dialog will add "ON" and "OFF" to the end of each checkbox item so the screenreader program can read the state to a blind user. |
Because Windows thinks a screenreader is running. If a screenreader is running, then the Advanced Options dialog will add "ON" and "OFF" to the end of each checkbox item so the screenreader program can read the state to a blind user. |
Comments (10)
Comments are closed. |
advanced options for what and where?
In IE, Tools->Options->Advanced tab
So, wo turned the screen reader on on my PC?
So, isn’t the screen reader supposed to read the state from the checkbox itself? Or is it a patch to back-support screen readers that are not comctl32-5.80-aware?
Centaur: These are treeviews – not check listviews or just checkboxes, so afaik there is no documented way to read the state.
There is a TreeView_GetCheckState function. And an MSAA-compliant screen reader (e.g. Narrator) can read the item states using IAccessible::get_accState.
I guess this must be for screen readers which support neither of these things.
By the way, someone using a Dutch version of Windows reported to me that the -ON and -OFF suffixes are in English. Is that intentional? Do screen readers expect them to be English?
Interesting
The problem is that the Options dialog is not a simple treeview with checkboxes. If you look more carefully, it’s a treeview with some checkboxes and some radio buttons, so a simple TreeView_GetCheckState isn’t expressive enough.
Thanks, Jordan for pointing out the English-ness of the "ON" and "OFF" suffixes. That could very well just be a bug. I’ll have to investigate.
The truly historical reason for this is that at the time the Options dialog was first written, Active Accessibility wasn’t as well-flushed-out as it is today so we had to use this little text hack. But as Jordan noted, get_accState reads the checkbox states correctly now, so maybe we can get rid of the "-ON" hack. The risk of course is that doing so may break some old screenreader program that were relying on "-ON" and "-OFF".
This is a recurring theme in software maintenance. You could change something, but you’re always afraid that there’s somebody who was relying on the old way of doing things.
I always thought the "ON" and "OFF" addition was an ugly hack. It was probably done on behalf of Narrator.
If this is occuring and someone doesn’t know why, it’s because the Screen Reader Present system flag is set. I’ve seen this happen when people play around with the Utility Manager and turn on Narrator or Magnifier at the logon desktop. Those accessibility aids turn on the Screen Reader flag and then the setting then gets copied to each new user profile.
To turn off, set the following regkey to zero:
HKEY_CURRENT_USERControl PanelAccessibilityBlind Access