mindtrove Collecting ideas since 1980

16Jan/080

Validate your accessibility

Eitan committed a new plug-in for Accerciser that makes it dirt simple to find basic accessibility problems. You know, the ones that cause grief for apps like Orca, GOK, On-Board, etc. To use it, run Accerciser, point it at part of a GUI, click validate, and wait for the report.

The rules in the plug-in aren’t the greatest right now. But the plug-in is extensible with new rule sets called schemas. For instance, you could have a “Desktop” schema to check basic GUI problems, a “Web” schema to test document accessibility, and an “Orca” schema to check a program’s fitness for Orca scripting. The sky’s the limit, and I’m sure Eitan, Will, and company will come up with quite a few useful tests.

To ward off any fear brought on by the word “schema,” I should note that they’re really just Python modules with simple, three-method classes in them. For example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class CheckFocusable(Validator):
  def condition(self, acc):
    # only test accessibles that have the action interface
    return acc.queryAction()      
  def after(self, acc, state, view):
    # check an accessible after checking its descendants
    # acc is the accessible
    # state is a dictionary of whatever you need to store across tests
    # view logs errors, warnings, etc.
    pass
  def before(self, acc, state, view):
    # check an accessible before checking its descendants
    s = acc.getState()
    if not s.contains(STATE_FOCUSABLE):
      view.error('actionable widget is not focusable')

No more excuses for inaccessible apps now, right? :)

8Nov/070

MS User Interface Automation coming to Linux

MS User Interface Automation coming to Linux:

“… Novell will develop and deliver an adapter that allows the UIA framework to work well with existing Linux accessibility projects and complement the investments made by IBM Corp. and others. Novell’s work will be open source and will make the UIA framework cross-platform while enabling UIA to interoperate with the Linux Accessibility Toolkit (ATK), which ships with SUSE Linux Enterprise, Red Hat Enterprise Linux and Ubuntu Linux. The UIA solution will ensure interoperability of nonvisual access to the next generation of software applications.”

If I’m reading the article right, there will be a bridge from ATK to UIA, but there is no mention of an adapter between UIA and AT-SPI. That means ATs on the Linux platform will have to deal with two disparate accessibility APIs, AT-SPI and UIA, depending on what an application implements.

Update

Steve Lee points out that the article can be taken to mean that the bridge will really be from UIA to ATK/AT-SPI, not the other way around. That’s much more logical. I admit confusion since UIA is the name of both the client and server-side API.

Tagged as: , , , No Comments