# A11y.Index
Positioned slot within an `A11y.Order` focus sequence. Must always be a descendant of `A11y.Order`.
## Import
```tsx
import { A11y } from 'react-native-a11y-order';
//
import { type IndexCommands, type A11yIndexProps } from 'react-native-a11y-order';
```
## Props
| Prop | Type | Default | Description |
| :-- | :-- | :-- | :-- |
| `index` | `number` | — | Position in the focus sequence. Lower numbers are focused first; ties resolved by render order. |
| `orderType` | `'default' \| 'child' \| 'subview'` | `'default'` | Controls which element receives screen reader focus. |
| `a11yUIContainer` | `'none' \| 'table' \| 'list' \| 'landmark' \| 'group'` | — | *(iOS only)* Sets `UIAccessibilityContainerType`. |
| `shouldGroupAccessibilityChildren` | `boolean` | — | *(iOS only)* When `true`, VoiceOver reads all descendants as one combined element. When `false`, forces individual navigation. Omit to use system default. |
| `onScreenReaderFocused` | `() => void` | — | Fires when this element receives screen reader focus. |
| `onScreenReaderSubViewFocused` | `() => void` | — | Fires when screen reader focus enters any descendant. |
| `onScreenReaderSubViewBlurred` | `() => void` | — | Fires when screen reader focus leaves any descendant. |
| `onScreenReaderSubViewFocusChange` | `(isFocused: boolean) => void` | — | Fires on any descendant focus state change. |
| `onScreenReaderDescendantFocusChanged` | `(e: ScreenReaderDescendantFocusChangedEvent) => void` | — | Fires when any descendant gains or loses focus. Payload: `{ status: 'focused' \| 'blurred', nativeId?: string }`. |
| `ref` | `React.Ref` | — | Exposes `focus()` and all native view methods. |
| `...ViewProps` | — | — | All standard React Native View properties. |
## orderType values
| Value | Behavior |
| :-- | :-- |
| `'default'` | The `A11y.Index` container itself is the ordered element. |
| `'child'` | Uses the first accessible child in the subtree. |
| `'subview'` | Uses the first accessible subview via legacy traversal. |
## IndexCommands ref
```tsx
import { type IndexCommands } from 'react-native-a11y-order';
const ref = React.useRef(null);
// Move screen reader focus programmatically
ref.current?.focus();
// Standard native view methods are also available
ref.current?.measure((x, y, width, height) => {});
```
## Guides
- [A11y Order guide](../guides/a11y-order.md)
- [Focus Events guide](../guides/focus-events.md)