Accessibility Support for Our iOS PDF Viewer
We endeavor to make PSPDFKit usable by as many people as possible. While many areas of PSPDFKit are highly accessible, a few areas are not yet at the level we strive for. This guide outlines how PSPDFKit supports various accessibility requirements — in particular, how PSPDFKit supports iOS accessibility features that meet these various requirements.
PDF is essentially a visual format, and documents may not include structural accessibility information. Therefore, PSPDFKit will apply heuristics to infer text structure, which is used not just for accessibility, but also for other features such as text selection.
Here’s how PSPDFKit supports various features that support visual needs.
PSPDFKit has good support for exposing PDF page text for VoiceOver. It intelligently separates text into paragraphs.
Images in page content aren’t accessible.
Scanned pages aren’t accessible, but our OCR component can help with that.
There’s partial support for reading and editing annotations and forms using VoiceOver.
Ancillary views — such as the bookmark list, document info, sharing UI, and comments UI — generally have good support for VoiceOver.
For best accessibility, we recommend allowing users to choose a page transition other than
.curl (or even not providing this transition option at all).
PDF page content uses a fixed layout to preserve the intended appearance of the document. Users can either zoom in with a pinch gesture, or double tap on a paragraph to smartly zoom so that lines of text fill the width of the screen.
Reader View may be used to reformat page text and respect the user’s preferred text size, including larger accessibility text sizes. Reader View uses the system font so that content is highly readable for the largest number of people.
Ancillary views — such as the bookmark list, document info, sharing UI, and comments UI — mostly have good support for Dynamic Type, including larger accessibility text sizes.
PSPDFKit’s user interface components, such as toolbars and lists, respect the system Dark Mode.
By default, page content isn’t affected by Dark Mode, so as to preserve the intended appearance of documents. PSPDFKit supports an optional color-corrected inverted rendering mode, which can be enabled using the appearance mode manager. Reader View supports Dark Mode out of the box.
PSPDFKit supports both its own menu item to speak selected text aloud, which is enabled by default, and the iOS Speak Selection accessibility option. PSPDFKit’s custom menu item is omitted when the system feature is enabled, so as to avoid confusion from showing two very similar menu items. See our Text-to-Speech guide to learn more.
Here’s how PSPDFKit supports various features that support physical and motor needs.
PSPDFKit’s undo and redo support includes Shake to Undo. Users can disable this feature in the system Accessibility settings. You can also disable it in your app using the
applicationSupportsShakeToEdit property on
PSPDFKit hasn’t been extensively tested with iOS’s Switch Control accessibility mode.
PSPDFKit generally has good support for Voice Control.
Scrolling must be achieved using the “swipe” command rather than using the “scroll” command. Toggling the visibility of the user interface is awkward but possible. Certain annotation editing operations, such as drawing and resizing, are inherently awkward using Voice Control.
PSPDFKit has enhanced support for pointing devices to improve the user experience. Read more in our Trackpad and Mouse Support guide.
By default, PSPDFKit has good support for hardware keyboard control. This includes using arrow keys to select items in lists such as the annotation list. See our Keyboard Shortcuts guide to learn more.
PSPDFKit hasn’t been extensively tested with iOS’s Full Keyboard Access accessibility mode.