New issue
Advanced search Search tips

Issue 649850 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

Pdf accessibility not updated when zoomed

Project Member Reported by dmazz...@chromium.org, Sep 23 2016

Issue description

Zoom into the page while a screen reader or other assistive technology is running. The bounding boxes of objects in the PDF aren't updated.




 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/be7872773045455683c6125abb042ec88de15719

commit be7872773045455683c6125abb042ec88de15719
Author: dmazzoni <dmazzoni@chromium.org>
Date: Thu Sep 29 20:33:14 2016

Update PDF accessibility when zoom level changes

There are three pieces needed for this to work:

1. Encode the page scale and offset using a transformation matrix
at the root of the PDF document, rather than by taking it into
account when computing each object's bounding box. (This wasn't
possible when PDF support first landed, but it's possible now.)

2. Update the root of the PDF tree with a new matrix whenever
the zoom level changes - this required a new public interface.

3. Minor fix to the GetBoundsForRange function in automation
internal bindings - it was converting from local to global
coordinates before walking character offsets, but this doesn't
work when there's a scale factor. Switch it to adjust for
character offsets first and then convert from local to global
last, applying matrix transformations like scale factors.

Tested manually by navigating with ChromeVox or VoiceOver
to some text in the PDF, then press Ctrl+Plus/Minus to zoom,
navigate forward/back to refresh the bounding rect and confirm
that it's updated to reflect the new bounds of the text.

BUG= 649850 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2371483002
Cr-Commit-Position: refs/heads/master@{#421924}

[modify] https://crrev.com/be7872773045455683c6125abb042ec88de15719/chrome/renderer/extensions/automation_internal_custom_bindings.cc
[modify] https://crrev.com/be7872773045455683c6125abb042ec88de15719/components/pdf/renderer/pdf_accessibility_tree.cc
[modify] https://crrev.com/be7872773045455683c6125abb042ec88de15719/components/pdf/renderer/pdf_accessibility_tree.h
[modify] https://crrev.com/be7872773045455683c6125abb042ec88de15719/content/public/renderer/render_accessibility.h
[modify] https://crrev.com/be7872773045455683c6125abb042ec88de15719/content/renderer/accessibility/render_accessibility_impl.cc
[modify] https://crrev.com/be7872773045455683c6125abb042ec88de15719/content/renderer/accessibility/render_accessibility_impl.h
[modify] https://crrev.com/be7872773045455683c6125abb042ec88de15719/pdf/out_of_process_instance.cc
[modify] https://crrev.com/be7872773045455683c6125abb042ec88de15719/pdf/out_of_process_instance.h

Status: Fixed (was: Started)

Sign in to add a comment