Can't use arrow keys to navigate in a tab group ONLY when NVDA is launched. Any solutions for this? - accessibility

The arrow keys navigation works fine when NVDA is off, but as soon as I open NVDA in the background I can't use it to navigate in tab groups.
Did you ever experience this and do you have any suggestions on how to resolve it? Thank you.
The role is set to 'presentation', I tried changing it to tablist and it does not work. Role 'tab' alters the entire navigation behavior of the tab group so I want to avoid that as the expected behavior is to navigate with left/right arrow keys.

It would be helpful to have some code posted, otherwise we're just guessing.
When you tab to the tab navigator does the focus move to the tab that is selected within the group? (When tabbing to it the first time, I presume the first tab is selected.) Once the tab navigator has focus, then you can use the left/right arrow keys to navigate to the other tabs (when NVDA is not running)?
(It's unfortunate that pattern is called a "tab" which is confusing when also talking about the tab key)
I would first start with making sure you're following the "tab navigator" design pattern. If everything works as explained in that design pattern, in particular, the "Keyboard Interaction" section, then it sounds like you don't have the roles set on the right elements.
The behavior you're describing sounds like the left/right arrow keys are going to NVDA instead of to the tab navigator. You didn't say what happens when you press left/right when NVDA is running. Are characters read one by one? That would definitely mean the left/right arrow keyboard events are going to NVDA.
If that's true, then you don't have the role="tablist" set on the right element (and possibly role="tab" is not set on the right elements.) Confirm again you're following the design pattern.
When you have role="tablist", that will automatically switch NVDA from "browse mode" (where keyboard events are sent to NVDA) to "forms mode" (where keyboard events are sent to your application). When keyboard events are sent to your application, the left/right arrow keys should work just like when NVDA is not running.
You can see a list of roles that cause NVDA to switch modes automatically for you at "Fundamental Keyboard Navigation Conventions". The tab pattern is one of those roles.
You should be able to confirm your left/right arrow keys work by tabbing to your tab navigator with NVDA running then pressing INS+space. That will toggle the "browse mode" to "forms mode" and then your arrow keys should work.

Related

How to close hamburger menu on keyboard accessibility focus out

I am trying to implement keyboard accessibility in one of my website for blind people. I have a hamburger menu on my website. While navigating using the "Tab" key on the keyboard, the focus moves to this hamburger menu item. While clicking on "Enter", it will expand and while press the "Tab" key again, it is navigating through the open hamburger menu elements. Once the last item reached, it will focus on the content.
In that case, is it possible to close the hamburger menu once the user focus-out using the keyboard "Tab" keypress?
Example here https://www.impressivewebs.com/demo-files/hamburger-menu/. It is possible to close the side menu after focus out?
Short answer
It's possible, but it isn't a good idea.
You'd better use a classic toggle button.
Longer answer
For a blind person, doing something on focus out essentially means that it happens without notice. It may be hard to understand and is at best a source of confusion.
The elements that are successively reached in tab navigation and their order aren't supposed to change without explicit conscious user action.
It's even more confusing if the way in which the menu appears and disappears aren't symetric (in your case, explicit press enter vs. focus out).
Both should be symetric. This means that, whether:
The same button toggle the menu on and off
The menu appears on leaving the link just before the menu (focus in), and disappears when leaving the last item of the menu (focus out)
There are several important cons in implementing the second:
Tab isn't the only way to navigate on a page for screen reader users. This concretely means that the menu may not be reachable for no apparent reason, and there may not be any way to make it appear.
Keyboard-only users having vision will probably be surprised of unexpected appearance/disappearance of the menu
Technically it isn't as easy as it looks like: you must think about it in the two directions (tab and shift+tab)
The toggle button hasn't these problems. Correctly implemented, it's always reachable, explicitly triggered by the user and has predictable behavior.
Additionally, it's much simpler to implement.
To wrap it up, the classic toggle button is therefore by far the simplest and safest solution, both for you and for users of various kinds.

NVDA Screenreader - use Shortcuts to read out next item with current focus on textinputfield

Just as the title says.
I cant find ANYTHING for this particular usecase Online.
This is in context of a website aiming to be AA WCAG 2.0 conform.
I have non-focussable text alongside focussable textinputs inside of a single view.
I can TAB through the focussable textinputs, but I cant read out the textfields inbetween. When I press "arrow down" while having the focus on the textinput I get "empty field" from NVDA. Most shortcuts also unfortunately produce text in the textinputfield instead of executing the associated behavior in NVDA.
Is there any way have the keystrokes being recognized as commands instead of input for the textfield? Is there any keyboard shortcut telling NVDA to behave like this?
Under the hood, NVDA auto switches to Forms mode, so what you're getting is the correct behaviour. if that text is related to the field, then you should use aria-describedby="[id of text]", on the form element.
I wouldn't be looking at anything that changes the default behaviour of how it works, as this will undoubtedly cause issues, for end users.
Could you not put that text in a tooltip, that is only shown when a user tabs to an interactive icon, next to the input (using the aria-describedby attribute too)?

If spacebar opens dropdowns across all browsers, why is my onchange triggered menu considered inaccessible

Background: for Windows users on Chrome and IE, dropdowns that reload or change the page are no good for accessibility. As soon as a user presses the down arrow button, the page reloads. This means that the user can only access the very first menu option. Here is an example: http://html.cita.illinois.edu/script/onchange/onchange-example.php
This is covered in the WCAG rule:
“Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component. (Level A)”
EXCEPT the user can very easily open up the dropdown and explore all the options without triggering an onchange event. The user does this with a space bar press. This is a very commonly known keyboard trick that I've seen all tested users to already be aware of or be able to figure out quickly.
In my system, we are using a dropdown for pagination in long directories.
EG: "you are on page [1^] of 16" (with the [1^] being a browser default dropdown menu). The designers will not allow any kind of visual [go] button. This happens across thousands of pages, javascript fixes I've seen need to account for every dropdown, and this is impossible on our case.
Using space bar, the user can see all the options and make a selection from anywhere on the list using only the keyboard. So why are dropdown page menus that automatically reload onchange still considered inaccessible? And would they be considered accessible if we included screen-reader only text which said "press space bar to open this menu, making a selection will load your next page"
Well except that in Firefox, the keyboard command is actually F4, you are correct - this is not a WCAG 2 violation but rather a best practice
Here is a page where you can test this: http://dylanb.github.io/onchange_select.html

Close Other tabs in XCode 4?

Am I crazy or is it not possible to close other tabs in XCode 4? I have about 7 tabs opened littering my workspace. I right click the one tab I'm interested in to bring up the context menu. I can see options to open a "new tab", "close tab", "close other tabs", and "move tab to new window". However, the only option that is not greyed out is "new tab". Do I have to put XCode in some magical state to enable the other options? Are these options merely eye candy, teasing me with hopes and aspirations of things I might like to do? Is this some weird kind of year long April fools gag? Inquiring minds wanna know.
*Update Uploading a HocusFocus screen capture for clarity...
You should be able to hover over the tab and click on the cross that appears on the left hand side of the tab. However, if you are not seeing this cross for some strange reason - you should be able to close the current tab in XCode (similar to many other OSX applications) by pressing CMD+W on your keyboard.
While the context menu doesn't work when you right click on a tab, you can achieve all of the same results by using keyboard shortcuts (which do seem to work as expected). Each of the 4 options on the context menu maps to the following shortcuts;
New Tab: CMD + T
Close Tab: CMD + W
Close Other Tabs: CMD + ALT + W
Move Tab to Other Window: I couldn't find a keyboard shortcut, but you can click and drag the tab away from the menu bar.
There doesn't appear to be a sensible way to enable the context menu on the tabs at the current time.
Late to the party but are/were you in full screen? Try again after quitting full screen...
Just click: View -> Hide tab bar
I had a similar issue (I say 'similar, because using Cmd+W. Cmd+Alt+W' didn't work for me).
In my case the tab had a cross on the top right, grayed out and nothing happens when clicking on it. If I opened a new tab, I could close either of the extra tabbed editors, but not both(!)
In View > Editor, selecting 'Standard' removes the 'second tabbed editor'.

What is the proper name for a multibutton?

I'm trying to design a UI in Qt and I can't find anywhere in the designer a button which can be "droped down" like combobox. What I mean by that is that I would like to have this button with his "default" option choosen so if I like it I would have to just click on it but if I would like to choose different option I would be able to clik the little arrow on the right side of this button and then pick option suitable for me at that moment.
You're looking for a QToolButton that has a set of actions or a menu set on it. From the documentation, the QToolButton::ToolButtonPopupMode...
Describes how a menu should be popped up for tool buttons that has a menu set or contains a list of actions.
Of it's values, the two that I see most frequently are DelayedPopup:
After pressing and holding the tool button down for a certain amount of time (the timeout is style dependant, see QStyle::SH_ToolButton_PopupDelay), the menu is displayed. A typical application example is the "back" button in some web browsers's tool bars. If the user clicks it, the browser simply browses back to the previous page. If the user presses and holds the button down for a while, the tool button shows a menu containing the current history list
And MenuButtonPopup:
In this mode the tool button displays a special arrow to indicate that a menu is present. The menu is displayed when the arrow part of the button is pressed.

Resources