What are "Standard Controls?"

What is a standard control and why should you want one? How will you know when you see one?

The Windows operating environment has many resources built into it from which programs running under it can draw. This situation obviates the need for each developer to create a separate set of resources and promotes compatibility among running applications. One category of commonly available items is the control. Everyone who uses Windows is familiar with the edit box and the button, although non-screen reader users may not know what they are called. These and other controls are stored in two files named USER32.DLL and COMCTL32.DLL.

If a person designing a program wants the user to type in a word, for example, an edit box might be the type of control that would do the job. The programmer might use the standard, normal, edit box. In that case, any screen reader knows what it is. When you, the user, land on the edit box, your screen reader says something like "edit box" and usually reads the label, the text to the left of the edit box that is intended to give guidance about what the program wants the user to do. So, you might hear "User name edit box."

Why would a programmer use something other than a standard control? There are three possible reasons:

  1. The functionality the programmer wants to include in the program cannot be accomplished by using one of the standard controls.
  2. The programmer has included a third-party set of controls in the project. These third-party controls are widely available. Many are sold in packages to programmers , and others are distributed without charge.
  3. The developer tool being used includes controls which are not standard.

If a program uses a large number of "custom" controls, is this the end of the world? Fortunately not. Several screen readers have a feature that allows the user or someone else to tell the screen reader to treat a given type of custom control as a specific type of standard control. So, using JAWS for Windows, Window-Eyes, or Window Bridge it is possible (and easy) for the user to "reclass" a control so that a custom control that is labeled "Cancel" will be recognized as a button. Since programmers tend to recycle their custom controls, the screen reader will now treat all these items as buttons.

Although this reclass feature is powerful and I recommend that every user become familiar with it, it is not the ideal solution. First, not all screen readers have the feature, so a program that relies on custom controls will be inaccessible to some degree to some users. Second, it is not always possible to find a standard equivalent for a given custom control. So, reclassing the control may, in rare instances, make matters worse (fortunately, users can put the control back into its unreclassed state). Also, not all users are skilled enough in the use of the screen reader or Windows to successfully reclass controls.

Better that the program be constructed accessibly than that your grandmother be expected to change a ThunderListBox to a List Box.

Return to article, or use your browser's "back" button.

Article Topic