Skip to content

Commit

Permalink
How Chrome Accessibility Works, Part 3
Browse files Browse the repository at this point in the history
Follow-up to parts 1 and 2.

This section covers events, actions, hit testing, relative coordinates,
text bounds, and iframes - filling in many of the additional complexity
that was glossed over in parts 1 and 2.

It also adds a few more links to "How Chrome Accessibility Works" from
other Markdown pages.

Bug: None
Change-Id: Ic1037d349555a981d16051526acde36247e32c0f
AX-Relnotes: N/A
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3137196
Commit-Queue: Dominic Mazzoni <[email protected]>
Reviewed-by: David Tseng <[email protected]>
Cr-Commit-Position: refs/heads/main@{#917367}
  • Loading branch information
minorninth authored and Chromium LUCI CQ committed Sep 1, 2021
1 parent 0efd908 commit 7821334
Show file tree
Hide file tree
Showing 6 changed files with 532 additions and 1 deletion.
17 changes: 17 additions & 0 deletions docs/accessibility.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Accessibility

* [Accessibility Overview](accessibility/overview.md)
* [How Chrome Accessibility Works](accessibility/how_a11y_works.md)
* [Accessibility Tests](accessibility/tests.md)

## Cross-Platform
Expand All @@ -10,10 +11,26 @@
* [Performance Measurement](accessibility/perf.md)
* [Reader Mode on Desktop Platforms](accessibility/reader_mode.md)

## Android

* [Chrome accessibility on Android](accessibility/android.md)

## Windows

* [IAccessible2 to UI Automation](accessibility/ia2_to_uia.md)
* [UI Automation](accessibility/uiautomation.md)

## Chrome OS

* [Autoclick](accessibility/autoclick.md)
* [ChromeVox for Developers](accessibility/chromevox.md)
* [ChromeVox on Desktop Linux](accessibility/chromevox_on_desktop_linux.md)
* [Updating brltty braille drivers](accessibility/brltty.md)
* [Select-to-speak](accessibility/select_to_speak.md)
* [Switch Access](accessibility/switch_access.md)

## Speech synthesis

* [Text-to-speech in Chrome and Chrome OS](accessibility/tts.md)
* [Updating the espeak speech synthesis engine](accessibility/espeak.md)
* [Updating the patts speech synthesis engine](accessibility/patts.md)
3 changes: 2 additions & 1 deletion docs/accessibility/figures/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ all: \
other_multi_process_browser.png \
proxy_approach.png \
caching_approach.png \
multi_process_ax.png
multi_process_ax.png \
focus_race.png

%.png: %.gv Makefile
dot -Tpng $< -o $@
37 changes: 37 additions & 0 deletions docs/accessibility/figures/focus_race.gv
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
digraph graphname {
graph [fontname = "helvetica", fontsize=11, compound=true];
node [shape="box", fontname = "helvetica", fontsize=11];
edge [fontname = "helvetica", fontsize=11];
rankdir="TB";

subgraph cluster_renderer1 {
label = "Render Process 1";

click1 [label="User clicks on button to open dialog"];
dialog1 [label="Dialog opens"];
focus1 [label="Button in dialog gets focused"];

click1 -> dialog1;
dialog1 -> focus1;
}

subgraph cluster_renderer2 {
label = "Render Process 2";

click2 [label="User activates window 2"];
focus2 [label="Text field in window 2 gets focus"];

click2 -> focus2;
}

click1 -> click2;
focus2 -> browser_focus_2;
focus1 -> browser_focus_1;

subgraph cluster_browser {
label = "Browser Process";

browser_focus_1 [label="Focus event from window 1 button"];
browser_focus_2 [label="Focus event from window 2 text field"];
}
}
Binary file added docs/accessibility/figures/focus_race.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 7821334

Please sign in to comment.