chromium/third_party/iaccessible2/README.chromium

Name: IAccessible2 COM interfaces for accessibility
Short Name: IAccessible2
URL: https://github.com/LinuxA11y/IAccessible2
Version: 1.3
License: BSD
License File: LICENSE
Security Critical: yes
Shipped: yes

Description:
  This directory contains the IAccessible2 API, a set of COM interfaces
  that extend MSAA's IAccessible interface for improved Windows accessibility.
  It consists of a single file:

    ia2_api_all.idl

Local modifications:
  Added the IAccessible2_4 interface to ia2_api_all.idl which extends the
  IAccessible2_3 interface with a single method for setting the current
  selection.

Update recipe:
1. git clone the IAccessible2 project
2. Run concatidl.sh
3. Copy the resulting ia2_api_all.idl into this directory
4. Apply the set_selection_ranges.patch using:
   git am set_selection_ranges.patch
5. Ensure that all files have Linux line-endings, so that the changes are easier to review
6. Update the compiled idl for each CPU, by building the target
   third_party\iaccessible2 with each of the following
   target_cpu options in args.gn: x86, arm64 and x64
   For example:
   autoninja -C out\arm64-release third_party\iaccessible2
   autoninja -C out\x86-release third_party\iaccessible2
   autoninja -C out\x64-release third_party\iaccessible2
   Each of these build commands will output instructions for updating the compiled api (.tlb and .h) for that build, e.g.:
    To rebaseline:
      copy /y c:\src\temp\[random folder name]\* c:\src\chromium\src\third_party\win_build_output\midl\third_party\iaccessible2\arm64