Watch Out for these Unpopular Accessibility Bugs
I attended a few get-togethers with some Assistive Technology vendors a while back when they were on campus for an Accessibility conference. While eating dinner with one particular AT vendor, I had asked him what we, Visual Studio , could do to improve our Assistive Technology compatibility story. Next thing I knew, I was writing frantically on paper usually used for receipts.
- Consider allowing Graphics to take focus. If there s a control the mouse user can interact with, the keyboard user will most likely want to interact with that control in a similar fashion. Sure, there are workarounds, like telling the user to go to the menus to find the same functionality. But, depending on what the control does, it could mean a lot of extra steps, especially if the control is frequently used.
- All graphics should have an AA object. If it is too costly for the graphic to have an AA object, at least draw it as a bitmap. Never just paint graphics. These are black holes to ATs.
- Graphics should have a bitmap associated with it, especially for those that don t have AA objects or are just bitmaps. If the graphic is painted, it is critical that it have a tooltip. This at least gives ATs a chance to identify the graphic.
- Correct cursor location is returned. For example, the (x,y) screen coordinates for an italicized cursor is at the baseline. I was told by the AT vendor that Word does not return Italicized cursor coordinates correctly, but I have not investigated this issue to confirm this at this time.
- After selecting text, the cursor must not disappear. The cursor must continue to blink based on OS Settings. I was told by the AT vendor that Notepad does this correctly; Word does not, but I have not investigated this issue to confirm this at this time. ATs may have to write special logic to determine cursor location.
- Use win32 API DrawFocusRect, even if you’ve drawn your own focus rect. I was told by the AT Vendor that there s a parameter you can pass in to draw the focus rectangle as invisible, but I didn t see it in the docs. It doesn t mean that it isn t possible. The AT s Off Screen Model goes by the focus rectangle drawn by DrawFocusRect, so if the AT can t find focus, although it is visible on the screen, this is the most likely cause.
Comments
- Anonymous
January 06, 2004
Number 5 is correct, in notepad the cursor blinks after selecting, in Word 2003 only the selection stays like a block, no blinking :p - Anonymous
February 01, 2004
Hi David,
Did you mean to say that Number 5 was incorrect? What i was told was that the cursor should never disappear. If you select text in notepad, the cursor remains, and if you select text in Word, the cursor disappears. Thanks! - Anonymous
August 21, 2005
Consider this article your one-stop shop for all things IAccessible.  Below is a summary of the...