diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2013-11-18 23:37:47 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2013-11-18 23:41:21 +0000 |
commit | cd7ec5d423dcf19fc310843ce76c54d6464aed56 (patch) | |
tree | 1235bf0d145e5e2db464fef552a6c7afd1be1891 | |
parent | uia: merge VCL pieces of IAccessible2 work. (diff) | |
download | core-feature/ia2.4.tar.gz core-feature/ia2.4.zip |
uia: add some possibly helpful overview documentation.
feature/ia2.4
Change-Id: I4163b587d82a0fd6403fdd124808ab895b4ed460
-rw-r--r-- | winaccessibility/README | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/winaccessibility/README b/winaccessibility/README new file mode 100644 index 000000000000..45ec5506283b --- /dev/null +++ b/winaccessibility/README @@ -0,0 +1,47 @@ +Windows Accessibility Bridge. + +This code provides a bridge between our internal Accessibility +interfaces (implemented on all visible 'things' in the suite: eg. +windows, buttons, entry boxes etc.) - and the Windows MSAA / +IAccessible2 COM interfaces that are familiar to windows users and +Accessible Technologies (ATs) such as the NVDA screen reader. + +The code breaks into three bits: + +source/service/ + + the UNO service providing the accessibility bridge. + It essentially listens to events from the LibreOffice + core and creates and synchronises COM peers for our + internal accessibilty objects when events arrive. + +source/UAccCom/ + + implementations of the MSAA / IAccessible2 interfaces + to provide native peers for the accessbility code. + +source/UAccCOMIDL/ + + COM Interface Definition Language (IDL) for UAccCom. + +Here is one way of visualising the code / control flow + +VCL <-> UNO toolkit <-> UNO a11y <-> win a11y <-> COM / IAccessible2 +vcl/ <-> toolkit/ <-> accessibility/ <-> winaccessibility/ <-> UAccCom/ + + +Debugging / playing with winaccessibility + +First you need to ensure that UAccCOM.dll is registered, if this did +not happen at install time use: + +regsvr32 /absolute/path/to/program/UAccCOM.dll + +Next you need to enable 'experiemental mode' in Tools->Options. After +that NVDA should work as expected. In order to use 'accprobe' to debug +it is necessary to override the check for whether an AT (like NVDA) is +running; to do that use: + +SAL_FORCE_IACCESSIBLE2=1 soffice.exe -writer + +Then you can use accprobe to introspect the accessibility hierarchy +remotely, checkout: + +http://accessibility.linuxfoundation.org/a11yweb/util/accprobe/ |