`. In the example below, the `TouchableHighlight` is announced by screen readers as a button. ```js Press me! ``` Note: The `button` role is not implemented using the native `button` element due to browsers limiting the use of flexbox layout on its children. Note: Avoid changing `accessibilityRole` values over time or after user actions. Generally, accessibility APIs do not provide a means of notifying assistive technologies of a `role` value change. ### accessibilityLiveRegion When components dynamically change we may need to inform the user. The `accessibilityLiveRegion` property serves this purpose and can be set to `none`, `polite` and `assertive`. On web, `accessibilityLiveRegion` is implemented using `aria-live`. * `none`: Accessibility services should not announce changes to this view. * `polite`: Accessibility services should announce changes to this view. * `assertive`: Accessibility services should interrupt ongoing speech to immediately announce changes to this view. ``` Click me Clicked {this.state.count} times ``` In the above example, method `_addOne` changes the `state.count` variable. As soon as an end user clicks the `TouchableWithoutFeedback`, screen readers announce text in the `Text` view because of its `accessibilityLiveRegion="polite"` property. ### importantForAccessibility The `importantForAccessibility` property controls if a view appears in the accessibility tree and if it is reported to accessibility services. On web, a value of `no` will remove a focusable element from the tab flow, and a value of `no-hide-descendants` will also hide the entire subtree from assistive technologies (this is implemented using `aria-hidden`). ### Other Other ARIA properties can be set via [direct manipulation](./direct-manipulation.md) or props (this may change in the future). [aria-in-html-url]: https://w3c.github.io/aria-in-html/ [html-accessibility-url]: http://www.html5accessibility.com/ [html-aria-url]: http://www.w3.org/TR/html-aria/