CodeMirror's autocomplete broken by Opera keyboard accessibility feature
Tuesday, October 18, 2011 11:45:27 AM
As far as I know, Opera is the only browser that lets users use SELECT elements with several possible choices entirely from the keyboard. I've got a demo here, if you tab into the SELECT element you'll see that you can move focus with up/down arrows and use the space key to create selections. The code is good, old-school HTML - as simple as it gets:
<select multiple size="4"> <option>A</option> <option>B</option> <option>C</option> <option>D</option> </select>
CodeMirror.net has an autocomplete-demo - for example try to type 'get' and press ctrl-space in that editor. It's rather clever of them to pop up a dynamically created SELECT element to let you choose from - but unfortunately, they've set select.multiple to true:
// Build the select widget
var complete = document.createElement("div");
complete.className = "completions";
var sel = complete.appendChild(document.createElement("select"));
sel.multiple = true;
Hence, if you try to use arrow-down you'll see Opera's pre-selection focus move down, the selection won't change. If you try to use space, the page interprets that as a confirmation of the current selection. It's just not possible to select anything but the first entry by keyboard.
Our best efforts at making <SELECT multiple> keyboard-accessible makes this page inaccessible. It's hard to innovate on the web. Even the subtlest innovations for the best reasons can cause compatibility problems..
In this case it's clearly the site's fault. It is semantically incorrect of them to say that this list is a multi-select when the user is only expected to select one single entry. (Luckily, I expect the coders behind this site to be receptive to arguments based on semantic correctness
.)Anyway, being stuck with this choice is obviously a bad thing:
<select> <option>Accessible</option> <option>Compatible</option> </select>
What's wrong with that code? Well, someone forgot to put in the multiple attribute, of course.








steve faulknerstevefaulkner # Tuesday, October 18, 2011 12:40:11 PM
you can make multiple selections in firefox using the ctrl + arrow keys.
In IE after making your initial selection you have to press shift + F8, then use the arrow keys to move to another option.
Hallvord R. M. Steenhallvors # Tuesday, October 18, 2011 8:19:48 PM
Really makes me wonder how spec'ed this stuff should be, no..? UI and keyboard stuff is traditionally seen as the UA's domain, a field of innovation and differentiation. But when web sites rely on particular keypress combinations not being used by the UA it seems the pressure to conform will be quite strong in the end..
Jimtoyotabedzrock # Tuesday, October 18, 2011 10:18:22 PM
They have some very talented people, and there are a few little features coming soon that are really useful for certain browsing situations.
Like the ability to not load all the tabs until you goto use them. The ability to distinguish when you have highlighted an actual web address. Ability to unclose a tab from context menu on every tab. They remember closed tabs after the browser restarts, that might be due to an extension I installed. And it remembers where you last saved a file for each domain separately.
Cutting Spoonhellspork # Tuesday, October 18, 2011 11:22:09 PM
Hm, I posted on that fellows blog but I will make the same suggestion here: find out whether Opera could allow more rights to an extension that does not want network access. Better Screen Reader/Voice Navigation support could be enabled with a third-party extension that uses VoiceXML. Right? And it should be a lot less work for Opera than rebuilding the engine with full TTS.
Swapnil RustagiSwapnil99pro # Monday, November 21, 2011 2:51:25 PM
Originally posted by toyotabedzrock:
Excuse me - don't insult Opera developers.
Mozilla might have talented people but these talented people are leaving Mozilla year by year - like recently Alex Faaborg, a senior UI designer at Mozilla left the company - don't remember the month exactly; but either October 2011 or this month itself.
There are some more key personalities like Mike Beltzner (and one more; don;t remember the name but it starts with Christian) left; if they leave Mozilla, then Firefox would die within a decade.
Cutting Spoonhellspork # Wednesday, November 23, 2011 2:33:48 AM
Of course with Opera Desktop, even 100 tabs will resume successfully - all at the same time. There is no pressing need to bother with a conditional resume.
BridgeBuilderKiwi # Thursday, January 5, 2012 2:32:59 AM