swift-ios- Accessibility - change Voiceover read/focus order to content view first then the navigation items?
up vote
1
down vote
favorite
I am designing an app with accessibility enabled. I have
a rightBarButtonItem on the navigationBar , several labels in between
and a button located at the bottom.
I want to achieve the following behaviour :
Every time the current view is loaded, the VoiceOver focus will:
- start from the topmost label
- visit all labels from top to bottom
- then, the bottom button
- finally, rightBarButtonItem
To ensure such order, I coded in the viewController
navigationController?.view.accessibilityElements = [label1, label2, button, navigationItem.rightBarButtonItem]
It did ensure the read order but the focus order failed at the rightBarButtonItem. It couldn't be clicked.
How to solve this problem?
ios swift accessibility voiceover tab-ordering
New contributor
C.Peng is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
up vote
1
down vote
favorite
I am designing an app with accessibility enabled. I have
a rightBarButtonItem on the navigationBar , several labels in between
and a button located at the bottom.
I want to achieve the following behaviour :
Every time the current view is loaded, the VoiceOver focus will:
- start from the topmost label
- visit all labels from top to bottom
- then, the bottom button
- finally, rightBarButtonItem
To ensure such order, I coded in the viewController
navigationController?.view.accessibilityElements = [label1, label2, button, navigationItem.rightBarButtonItem]
It did ensure the read order but the focus order failed at the rightBarButtonItem. It couldn't be clicked.
How to solve this problem?
ios swift accessibility voiceover tab-ordering
New contributor
C.Peng is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I am designing an app with accessibility enabled. I have
a rightBarButtonItem on the navigationBar , several labels in between
and a button located at the bottom.
I want to achieve the following behaviour :
Every time the current view is loaded, the VoiceOver focus will:
- start from the topmost label
- visit all labels from top to bottom
- then, the bottom button
- finally, rightBarButtonItem
To ensure such order, I coded in the viewController
navigationController?.view.accessibilityElements = [label1, label2, button, navigationItem.rightBarButtonItem]
It did ensure the read order but the focus order failed at the rightBarButtonItem. It couldn't be clicked.
How to solve this problem?
ios swift accessibility voiceover tab-ordering
New contributor
C.Peng is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
I am designing an app with accessibility enabled. I have
a rightBarButtonItem on the navigationBar , several labels in between
and a button located at the bottom.
I want to achieve the following behaviour :
Every time the current view is loaded, the VoiceOver focus will:
- start from the topmost label
- visit all labels from top to bottom
- then, the bottom button
- finally, rightBarButtonItem
To ensure such order, I coded in the viewController
navigationController?.view.accessibilityElements = [label1, label2, button, navigationItem.rightBarButtonItem]
It did ensure the read order but the focus order failed at the rightBarButtonItem. It couldn't be clicked.
How to solve this problem?
ios swift accessibility voiceover tab-ordering
ios swift accessibility voiceover tab-ordering
New contributor
C.Peng is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
C.Peng is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited 10 hours ago
Shruti Thombre
227216
227216
New contributor
C.Peng is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked Nov 16 at 23:32
C.Peng
61
61
New contributor
C.Peng is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
C.Peng is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
C.Peng is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Every time your current view is loaded, use the UIAccessibilityPostNotification method to get your purpose.
There are several types of change notifications but UIAccessibilityScreenChangedNotification may be the one you're interested in.
It notifies that the whole page has changed including nil or a UIObject as incoming parameters :
- With
nil, the first accessible element in the page is focused. - With a
UIObject, focus is shifted to the specified element.
This notification comes along with a vocalization including a sound like announcing a new page.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Every time your current view is loaded, use the UIAccessibilityPostNotification method to get your purpose.
There are several types of change notifications but UIAccessibilityScreenChangedNotification may be the one you're interested in.
It notifies that the whole page has changed including nil or a UIObject as incoming parameters :
- With
nil, the first accessible element in the page is focused. - With a
UIObject, focus is shifted to the specified element.
This notification comes along with a vocalization including a sound like announcing a new page.
add a comment |
up vote
0
down vote
Every time your current view is loaded, use the UIAccessibilityPostNotification method to get your purpose.
There are several types of change notifications but UIAccessibilityScreenChangedNotification may be the one you're interested in.
It notifies that the whole page has changed including nil or a UIObject as incoming parameters :
- With
nil, the first accessible element in the page is focused. - With a
UIObject, focus is shifted to the specified element.
This notification comes along with a vocalization including a sound like announcing a new page.
add a comment |
up vote
0
down vote
up vote
0
down vote
Every time your current view is loaded, use the UIAccessibilityPostNotification method to get your purpose.
There are several types of change notifications but UIAccessibilityScreenChangedNotification may be the one you're interested in.
It notifies that the whole page has changed including nil or a UIObject as incoming parameters :
- With
nil, the first accessible element in the page is focused. - With a
UIObject, focus is shifted to the specified element.
This notification comes along with a vocalization including a sound like announcing a new page.
Every time your current view is loaded, use the UIAccessibilityPostNotification method to get your purpose.
There are several types of change notifications but UIAccessibilityScreenChangedNotification may be the one you're interested in.
It notifies that the whole page has changed including nil or a UIObject as incoming parameters :
- With
nil, the first accessible element in the page is focused. - With a
UIObject, focus is shifted to the specified element.
This notification comes along with a vocalization including a sound like announcing a new page.
edited 12 hours ago
answered yesterday
XLE_22
28437
28437
add a comment |
add a comment |
C.Peng is a new contributor. Be nice, and check out our Code of Conduct.
C.Peng is a new contributor. Be nice, and check out our Code of Conduct.
C.Peng is a new contributor. Be nice, and check out our Code of Conduct.
C.Peng is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53346725%2fswift-ios-accessibility-change-voiceover-read-focus-order-to-content-view-fir%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown