On preparing the Reorderer for user testing with screen readers, we discovered that the current use of Arrow keys with the Ctrl-key modifier conflicts with keystrokes commonly used by screen readers.
Jonathan and I have been investigating how to implement a 'pluggable keys' capability in the Reorderer, i.e. allowing clients to specify which keys and modifiers to use. We're including the possibility of allowing multiple 'key sets' (e.g. so that we can continue to use the existing Arrow keys *and* add keys that will work with screen readers at the same time). The issue is turning out to be... challenging :-) The issues are not insurmountable, but finding elegant, efficient ways of surmounting them is a challenge. Challenges: 0) How to we communicate effective instructions to the user? 1) Keeping track of which modifiers go with which keys: Suppose two concurrent key sets are: Arrow keys with Ctrl modifier Numpad keys with Shift modifier When an Arrow or Numpad key is pressed, we need to know which modifier to check with. Viewed another way, when one or the other modifier key is held down, we need to know which set of direction keys should cause movement. 2) Overlap between sets of modifiers: Suppose one key set uses Ctrl as the modifier on Arrow keys, and another uses Ctrl+Shift as modifier on Numpad keys. When should the styling of a thumb change from default to 'about to move'? What if the user holds down the Ctrl key and sees the style change, then hits the Numpad keys to move, and nothing happens? This is more of a usability question than a technical one, but it is still a question. The same issue could arise with point #1 above (though the confusion might be more likely in this example, given that the Ctrl- key is used in both key sets) 3) Conflict between direction keys: This is highly unlikely, but there's nothing technically stopping a client from specifying the F-key as a left movement in one key set and the F-key as a right movement in another key set. Some questions: A) Should we restrict clients of the Reorderer to a single (user- specifiable) key set? B) Should we restrict clients to a single modifier set, and only allow multiple sets of 'direction' keys? If anyone has any thoughts or ideas, or knowledge of existing ways of dealing with these issues that we haven't found, we welcome your input. -- Anastasia Cheetham [EMAIL PROTECTED] Software Designer, Fluid Project fluidproject.org Adaptive Technology Resource Centre / University of Toronto _______________________________________________ fluid-work mailing list [email protected] http://fluidproject.org/mailman/listinfo/fluid-work
