html - What would the appropriate aria roles and behaviors for 2d x/y axis plane input be? -


i have component presents x/y axis plane , nub users can move around within plane. aspects of accessibility here seem pretty straight forward: nub should focusable; keyboard up/down/left/right should move nub interval increment x/y values in appropriate directions. secondary text input, these behaviors widget-proper may helpful regardless of whether users employing assistive technology.

but when began investigating how should mark aria-wise, wasn’t sure appropriate role/roles should be, or best way communicate available functionality is.

the closest match role appeared "slider": https://developer.mozilla.org/en-us/docs/web/accessibility/aria/aria_techniques/using_the_slider_role

however slider role described on mdn seems may specific single-axis sliders.

a slider 1d only, isn't appropriate role.

to convaince of this, read description of slider in aria 1.1. http://www.w3.org/tr/wai-aria-1.1/

nothing in description mentions may use else simple numerical values, comparison between values should unique , total (for 2d points not), , reads following:

elements role slider have implicit aria-orientation value of horizontal

it's horizontal; may vertical; not both @ same time.

by way, default, jaws example announce more or less slider: "left right slider. use left , right arrow keys adjust value" wrong case.

if in discrete plane, have suggested grid/row/gridcell. since selecting coordinates in continuous plane (or almost), case special / unconventional, hance there doesn't exist predefined aria recipe can apply.

in such case there no adequate role, tehe best play not indicate role @ component. assistive technology therefore not confuse user telling him control not really, nor giving him wrong indications on how use it. no indications @ better wrong ones.

you must of course still use aria-label/aria-labelledby give component label, make focusable , keyboard usable. should ideally compensate absence of predefined role giving precise keyboard usage instructions. this, keep rahter short in aria-describedby (which might read each time control focused), , if needed / if control quite complex, explain longer somewhere else plain text.

if it's complex, allowed give up, long provide acceptable alternate input mean giving equal possibilities. color chooser, enter rgb value or #xxxxxx code acceptable , sufficient alternate input means.


Comments

Popular posts from this blog

php - Vagrant up error - Uncaught Reflection Exception: Class DOMDocument does not exist -

vue.js - Create hooks for automated testing -

Add new key value to json node in java -