HeaderPane
Main
Hide

SftTree/DLL 8.0 - Tree Control

Share Link
Print

Accessibility (Screen Readers)

SftTree/DLL 8.0 ships with built-in Windows UI Automation (UIA) support. Users who rely on Narrator, NVDA, JAWS or any other UIA-compatible assistive technology can read and navigate SftTree controls without the hosting application doing any work. No opt-in, no code change, no separate build.

What the screen reader sees:

Control typeData grid. Row / column / cell navigation is available through standard grid shortcuts. A split tree control exposes a single unified data grid (not two nested grids) so the user experiences the same structure regardless of split.
RowsEach item is a row fragment that carries its tree level, expand / collapse state, and selection state. The parent / child / sibling hierarchy of the tree is preserved in UIA navigation.
Column headers / row headers / footersExposed as separate header fragments with the header text spoken as the Name. Sort indicators are reflected in the header Name ("ascending" / "descending"). Header and row-header HelpText is routed through the application's registered ToolTipsCallback so the same text shown as an on-hover tooltip is also announced.
CellsEach cell is addressable individually. Cells using SFT_PICTURE check-box or radio-button types advertise the matching control type (CheckBox / RadioButton) and the Toggle / SelectionItem patterns, so the screen reader announces "checked" / "unchecked" / "mixed" as appropriate.
Patterns implementedSelection, SelectionItem, Grid, GridItem, Table, TableItem, ExpandCollapse, Scroll, ScrollItem, Invoke, Value (read-only), Toggle.

Event notifications raised automatically: selection changed, caret changed, vertical / horizontal scroll, expand / collapse, column resize, insert / delete item, cell toggle-state changed.

There is nothing to turn on. 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.

Two things the application controls:

  • Register a ToolTipsCallback (see SetToolTipsCallback) so the column-header, row-header, row/column-header-corner and column-footer HelpText - what the screen reader speaks in addition to the header's short name - is descriptive. SftTree does not store header help text itself; the callback owns it. If no callback is registered, HelpText is empty.
  • Call Announce to push short application-status text ("3 rows added", "Filter cleared", "Saved") to attached screen readers. Announce is the right tool for momentary status updates that do not have a visible representation in the tree.

Dark mode and Windows High Contrast are independent accessibility settings. SftTree honors both automatically (see SetDarkMode and SetHighContrastMode).

Platform note: The UIA notification event used by Announce requires Windows 10 version 1709 or later. On earlier platforms Announce is a silent no-op. All other UIA features work on Windows 7 and later.