Backlight OCR: Implements the "hit test" accessibility action. When a hit test accessibility action is performed, the assistive software provides a screen point and expects to get back the accessibility node under that point. This is primarily used by Select-to-Speak, which is a piece of assistive software on ChromeOS that reads the text that the user points to using the mouse. When a PDF is opened in the Media App on ChromeOS, we perform OCR on all the PDF content, get bounding rectangles from the OCR engine, thus allowing the Select-to-Speak user to point to any on-screen item to have it read. Security considerations: The renderer controls the tree ID of the OCRed content that it provides to the hit test action for that content. However: the stitched child tree ID is an unguessable token and thus hard to come up with for any random renderer, the renderer already provides the node ID for the hit test target and could thus provide any target it wants in that renderer - so why should there be a need to maskarate as another renderer. There is no accessibility tree on the browser side for the renderer content that can therefore be used to validate the renderer provided tree ID. The renderer does not control the event that should be fired, nor the request ID of the hit test action. Design doc at: https://docs.google.com/document/d/1k8OH4XGjZrLVA705Xfy6vzSwGL9DkfRt9DG5s66lRjQ/edit?usp=sharing&resourcekey=0-K_9Y1EMhNoo8Ez9RPbQNMA R=kyungjunlee@google.com AX-Relnotes: Select-to-Speak now works in the MediaApp, AKA Backlight. Change-Id: Ic6b0eb764aa2c27c5f145a23be65973f0bca9c40 Bug: 342563905 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6000136 Reviewed-by: Kyungjun Lee <kyungjunlee@google.com> Commit-Queue: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Ken Buchanan <kenrb@chromium.org> Cr-Commit-Position: refs/heads/main@{#1382208}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.