VoiceOver left and right arrow keys are reserved for predefined behavior. How to override? - safari

For VoiceOver, the left and right arrow keys seemed to be reserved for 2 things:
By default, the left and right arrow keys put focus on the letter of
whatever the focus is on.
EX:
If you turn on quick-nav (left and right arrow key), the left and
right arrow keys are used to go through the entire content of the
page, whether focusable or not.
So what is the consensus on whether specific keys should be overriden? In this example, the overriden feature does not work as expected because VoiceOver has a predefined behavior for the left and right arrow keys.
NOTE: This issue only occurs for VoiceOver + Safari. You can try it with this example of accessible tabs (which with VO and Safari is not accessible).https://www.w3.org/TR/wai-aria-practices/examples/tabs/tabs-2/tabs.html

So what is the consensus on whether specific keys should be overriden?
I am providing general advice as I do not know your use-case (you show tabs but there could be other components you are working on).
It is perfectly acceptable to over-ride keys with custom functionality that improves your website / web app (in fact it is encouraged) with a big caveat!
There needs to be an easy way to both switch shortcut keys on and off and give the user the option to change the key bindings to what they want via an options menu or similar.
Old advice used to be that there are 'safe' shortcut keys you could use, but a lot of users change their key bindings to meet there needs (it isn't just screen readers but all assistive devices you need to consider) and new screen readers are introduced that use different sets of keys, making this advice obsolete and a bad practice.
Also consider adding some guidance (if your design allows) on the shortcut keys you have implemented to make it easier for people to use certain elements of your site as you cannot assume someone will automatically know what keys to use where.

Related

how to prevent dojo name text box remove/delete name onclick

I want prevent users from possibility to delete a name by accident from the list.. It should be possible to delete a name by clicking only on [x]...
Thanks
Reconsider the plan as Stephan says. My advice: you have used filter elements from OneUI framework. That's not a good choice in my opinion.
My suggestion is to use list element of OneUI instead, for example:
You might want to reconsider that plan :-) - the behavior of the dojo value picker in any other application is to make the full entry a click target - since you don't control other applications, you create an interaction inconsistency that will rather annoy users.
... But if you have to:
The Dojo UI interaction is deeply wired into that control and can't be changed easily. Your sensible option is to take the source of the control and create your own dojo/dijiit widget. Since dojo supports name spaces, that can coexist with the default control. Check the dojo documentation. It contains tutorials how to do that.
You might find there are better uses for your time.

Intellisense - Iterate list using different key other than Up/Down Arrows

I was wondering if its possible to customize the behavior of IntelliSense in VS 2012. I also have Resharper installed if that can do it. My desire is to minimize the amount of movement of my hands from the core keys. Typically when IntelliSense comes up I start typing and it narrows the list down to say 3-4 items. Then I need to move my right hand to the Down Arrow Key. I was wondering if I could use the Space key to cycle through the short list of 3-4 items and then hit Enter or ; to select the value I wanted. I can always keep typing the item I want but sometimes that will take 6+ keystrokes since the names are similar. Anyway just wondering as I would think that would be an improvement in speed.

NSTextField like control for entering key shortcuts - Objective-C/Cocoa

I've seen in some applications the control in these shots that is used to enter key shortcuts. I'd like to know if these are standard (available to everyone) or if these were built by the application's developer. I don't think it is the latter because I've seen this in many apps from different developers. Here are the images:
To give one example of an app try Bowtie, though I know there's more that use this.
If this control is standard, could you tell me how to use it (what class, etc)?
The first one appears to be Shortcut Recorder from Waffle Software.
Note that the use of a rounded text field for this, while somewhat established, the HIG reserves the rounded appearance for search fields.

Need a keyboard with specific keys

Okay, I've seen the webpage that shows you how to enter a decimal key on the number pad, but that's pretty complicated for one button, and the problem I have involves multiple buttons. See, I have a program that involves typing in functions like "x + 5". My problem right now is that the user has to go through three different keyboards just to enter that kind of function. I need to know if it's possible to set up a keyboard that will have specific keys in it. Is there a way to do this that's simpler than the decimal key method?
You'll have to create a custom keyboard if none of the apple keyboards toots your flute.
The easiest way to do this is to create a view and add lots of buttons with their own titles and background images and, most importantly, actions. You'll also need a delegate.
To be more official, there are numerous online tutorials (and lots of SO questions).

Cocoa Key Equivalent in Menu is not working

I have created a NSStatusItem and I have assigned two key equivalents within interface builder (Xcode 4.0). These are for the preference menu cmd-, and the quit option cmd-q. Both of these will work when the Menu is highlighted/open but will not work otherwise even if the application is the foremost. Any ideas on why this is happening or how I can change this?
The operating system passes key events that it doesn't handle to the front application, which compares them to any key equivalents in its main menu and current window. They are not compared to items in the status bar, and since the status bar is actually a different application, it won't matter that your application is in the foreground. When you have the menu open, it is the window in focus. This is why it works in those circumstances.
Since the status item is only active while the menu is open, you need to get the key equivalents using one of two other methods. The first, newer method is to use event taps. I have never used this, so I can't advise on how to set it up. The other, older option, is to use hot keys. This method may become unsupported in the future, but if you are interested I posted an example in this answer.
My guess: your NSMenu is not in the responder chain. If you can figure out how to get it in there, you can probably get this to work.