SumatraPDF provides several accessibility-related features. Maturity varies by feature.

Read Aloud #

Read Aloud (TTS) — read document text with Windows text-to-speech, word highlight, playback bar, and pause / continue / stop — is documented in Read Aloud (TTS).

Screen readers (UI Automation) #

SumatraPDF exposes an experimental UI Automation tree so screen readers can access document text.

Microsoft Narrator #

  1. Start Narrator (Windows built-in).
  2. Open a document in SumatraPDF.
  3. Select text — Narrator should read the selection.
Supported document types for UIA: PDF, XPS, DjVu.
Known issue: Narrator sometimes stops reading until you switch focus to another window and back.

Other screen readers #

NVDA and other clients are not officially tested. Feedback welcome in discussions.

Plugin #

Accessibility is not enabled in the SumatraPDF browser plugin.

Keyboard-only use #

Many actions are available without a mouse — see Keyboard shortcuts, Command Palette, and Finding text (important for users who cannot use function keys without Fn).

See also #

Technical documentation #

For SumatraPDF developers — UIAutomation element structure when a document is loaded:
Window
 |-> FragmentRoot
     Name: "Canvas"
     ControlType: UIA_CustomControlTypeId
      |
      |-> Fragment
          Name: [filename]
          ControlType: UIA_DocumentControlTypeId 
          NativeWindowHandle: 0
          Patterns: ITextProvider
            |
            | -> Fragment
            |    Name: "Page 1"
            |    Patterns: IValueProvider
            -
            -
            |
            | -> Fragment
                 Name: "Page n"
                 Patterns: IValueProvider
When no document is loaded:
Window
 |-> FragmentRoot
     Name: "Canvas"
     ControlType: UIA_CustomControlTypeId
      |
      |-> Fragment
          Name: "Start Page"