Page control

Success Criteria:

Name Name identifies as page index - Page x of x
Role Identifies as "adjustable" in iOS, Android: n/a -name communicates it is a page control
Grouping n/a
State dimmed/disabled
Focus Focused by swipe or touch
Actions To change pages, swipe up or down with one finger - iOS. Two finger swipe rt or left for Android

External Keyboard Support

tab To focus. iOS - focus is on page control, Android - focus is on initial page container
Rt/left arrow keys To navigate through pages

Native Element

A control that displays a horizontal series of dots, each of which
corresponds to a page in the app’s document


  • Page X of X
  • iOS
    • setTitle( ) method
    • Set a label in Interface Builder in the Identity Inspector
    • accessibilityLabel
    • (accessibilityLabel overrides setTitle)
  • Android
    • android:text XML attribute
    • contentDescription
    • (contentDescription overrides android:text


  • iOS
    • UIPageControl
    • Announcement: adjustable
  • Android
    • TabLayout with ViewPager
    • Announcement: no role is announced. Hearing Page x of x in the name tells the screen reader user it is adjustable with two finger swipe. Role and Name are the same for this component.


  • n/a


  • iOS
    • Active: isEnabled property
    • Disabled: UIAccessibilityTraitNotEnabled. Announcement: dimmed
  • Android
    • Active: android:enabled=true
    • Disabled: android:enabled=false. Announcement: disabled


  • Only manage focus when needed. Primarily, let the device manage default focus.
  • Consider how focus should be managed between child elements and their parent views.
  • iOS Options
    • accessibilityElementIsFocused
    • isAccessibilityElement - Yes, if the element can respond to user input
    • To move screen reader focus to newly revealed content: UIAccessibilityLayoutChangedNotification
    • To NOT move focus, but announce new content: UIAccessibilityAnnouncementNotification
  • Android Options
    • android:focusable=true
    • android=clickable=true
    • Implement an onClick( ) event handler for keyboard, not onTouch( )
    • nextFocusDown
    • nextFocusUp
    • nextFocusRight
    • nextFocusLeft
    • accessibilityTraversalBefore (or after)
    • To move screen reader focus to newly revealed content: Type_View_Focused
    • To NOT move focus, but announce new content: accessibilityLiveRegion
    • To hide controls: Important_For _Accessibility_NO


  • iOS
    • Swipe up or down when page control is focused to change pages
  • Android
    • Two finger swipe when on page container to change pages