SftMask/OCX 8.0 includes built-in Windows UI Automation (UIA) support. Users who rely on Narrator, NVDA, JAWS or any other UIA-compatible assistive technology can read and operate the control without the hosting application doing any work. There is no opt-in and no code change required.
What the screen reader sees:
| Element | Exposed as |
|---|---|
| Control type | Edit. The entire control, including its caption, buttons and popup windows, is one element. |
| Name | The caption text (Caption.Text property), with the & mnemonic marker removed. Without a caption, the Label text is used. |
| Value | The control's current contents, exposed through the Value pattern. The pattern supports reading and setting the text and reports the read-only state (Locked property). For password input, the control reports that its contents are a password, so screen readers do not speak the actual contents. |
| Dropdown | The ExpandCollapse pattern reports whether the popup calendar or the autocomplete window is shown, and allows an assistive technology to open the popup calendar and to close either window. |
| State | Enabled or disabled, and whether the control has keyboard focus. |
Event notifications are raised automatically when the control's contents change and when it gains keyboard focus. The provider loads on demand the first time a UIA client queries the control, so there is no overhead for applications whose users never attach an assistive technology.
The main thing the application controls is the caption text - screen readers read it first, so a control with the caption Invoice &Date: announces itself much more usefully than an unnamed edit field. See Built-In Caption.
Dark mode and Windows High Contrast are independent settings. SftMask/OCX follows Windows High Contrast by default, and follows dark mode once the DarkMode property is set to darkSftMaskAuto. See Dark Mode and High Contrast.