Why does my Advanced Options dialog say ON and OFF after every option?

Date:October 2, 2003 / year-entry #81
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)
  1. jon says:

    advanced options for what and where?

  2. Mike Dunn says:

    In IE, Tools->Options->Advanced tab

  3. Camillo Vezzoli says:

    So, wo turned the screen reader on on my PC?

  4. Centaur says:

    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?

  5. Ian Hanschen says:

    Centaur: These are treeviews – not check listviews or just checkboxes, so afaik there is no documented way to read the state.

  6. Jordan Russell says:

    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.

  7. Jordan Russell says:

    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?

  8. Ian Hanschen says:


  9. Raymond Chen says:

    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.

  10. Charles Oppermann says:

    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

Comments are closed.

*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index