Skip to content
This repository has been archived by the owner on Jun 22, 2022. It is now read-only.

Latest commit

 

History

History
118 lines (80 loc) · 5.36 KB

README.md

File metadata and controls

118 lines (80 loc) · 5.36 KB

Assistive Technology Test Adapters (ATTA) for IAccessible (MSAA) and IAccessible2

Assistive Technology Test Adapter (ATTA) for use in testing ARIA implementation using the web platform test suite.

This project contains ATTAs for IAccessible (MSAA) and IAccessible2 accessibility APIs for the Microsoft Windows operating system and are designed to support automated testing of W3C Acessible Rich Internet Application 1.1 and W3C CORE Accessibility API Mapping (CORE-AAM) implementation in browsers implementing MSAA+IAccessible2.

Suporting Rsources

Current Working Environment

  • Windows 7: I have had it working in Windows 10, but updates to Windows 10 has made those installations non-functioning (can't get interface to IAccessible2 objects), may have to do with security enhancements for DLL which would affect access to the IAccessible2Proxy.dll. I am currently using a 64 bit version of Windows 7, so I assume the 32 bit version of Windows 7 will also work.
  • 32 bit version of Python 2.7.15 for windows (no luck with 64 bit version)
  • 32 bit version of Chrome Canary
  • 32 bit version of Firefox Nightly

Python Requirements

  • Install Python version 2.7.x (32 bit version)
  • Set environment variable to include python path information, typically adding the path c:\python27\scripts\
  • Setup a virtual environment for python
  • Activate the virtual environment using the Scripts\activate.bat in the directory where you created the virtual environment
  • Clone this ATTA repository
  • Change direcotry to the ATTA repository and install the requiredpython packages using pip install - requirements.txt
  • Requirements file for virtual environment:
  appdirs==1.4.3
  comtypes==1.1.3.post2
  faulthandler==2.6
  packaging==16.8
  pyparsing==2.2.0
  requests==2.13.0
  six==1.10.0

Registering IAccessible2Proxy.dll

There is a file in the "IAccessible2Proxy.dll" is in the "pyia2" directory that needs to be registered with the Windows operating system. From the Windows Command prompt type the following command:

regsvr32 c:\[path to diectory]\atta-msaa-iaccessible2\pyia2\IAccessible2Proxy.dll

NOTE: You need to run the command prompt as an administrator to register DLLs.

Enabling Accessibility APIs on Chrome

  • Use the chrome://accessibility settings URL and check all the boxes related to using the accessibility API.
  • No need to restart Chrome it will support IAccessible and IAccessible2 interfaces once you enable in the accessibiity settings.

Enabling Accessibility APIs on Firefox

  • I was not able to get Firefox to expose accessibility API information unless I had a screen reader running.
  • Installed NVDA and ran it before starting Firefox before testing, but JAWS can also be used in its demo mode.
  • Once the accessibility API is enabled, you can exit the screen reader.

NOTE: If you down load NVDA, please donate to support the continued development of the open source scren reader.

Running WPT with ATTA to get ARIA 1.1 and CORE AAM test results

  1. Start Chrome or Firefox (e.g. typically canary or firefox nightly) to start a test run
  2. Go to the W3C WPT Test Runner
  3. To run the ARIA 1.1 test cases, enter /wai-ara/ to the textbox label Run tests under path.
  4. Start the ATTA for IAccesible2 or MSAA (see options following)
  5. Press the Start button in the WPT Test Runner

For IAccessible2 testing:

python att_ia2.py

For MSAA (or IAccessible) testing:

python att_msaa.py
  1. To run the CORE AAM test cases use the same proceedure as for ARIA 1.1, but for the textbox labelled Run tests under path use /core-aam/.

Updating a local copy of the test cases for ARIA 1.1

Install and configure a local copy of W3C Web Platform Tests.

The following instructions are assuming you are in the WPT root directory.

  1. Generate all tests and put them in a temporary directory.
mkdir temp; perl wai-aria/tools/make_tests.pl -d temp -s aria11
  1. Remove certain test files that have been updated by hand
rm temp/*activedescendant*

Note: Assuming you have no changes to make to the active descendant tests. This is needed because I've had to hand-edit the those tests to add the step to change focus. You'll overwrite that if you replace the hand-edited tests with the generated tests. This is a known issue which we'll hopefully fix soon.

  1. Copy updated test files to wai-aria directory
cp temp/* wai-aria
  1. Having done the above, you'll have a local copy of the regenerated tests. To get them added to the official repo, you'll need to do a pull request for the upstream (w3c's official) web-platform-tests repo.