New issue
Advanced search Search tips

Issue 869985 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 4
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

get_characterExtents() should return useful results for end of string

Project Member Reported by aleventhal@chromium.org, Aug 1

Issue description

Products like ZoomText use get_characterExtents with the special IA2_TEXT_OFFSET_CARET to get the bounds of the character with the caret.

To maintain compatibility with ZoomText and other IA2 implementations such as Firefox, get_characterExtents() should something useful for the offset just past the last character.

Typically this is the caret rectangle, or what the caret rectangle would be if placed there.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 28

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

commit 0190618cc8bdee3297db05bee5863acbab6461f2
Author: Aaron Leventhal <aleventhal@chromium.org>
Date: Fri Sep 28 20:16:47 2018

Character extents at end of text

For get_characterExtents() at the offset just past the last character,
return bounds equivalent to the caret's bounds if it
placed there, e.g. width of 1, but the same height as the current line.

Bug:  869985 
Change-Id: Ib544b863c1fd7ab132dc5ff4ddbeebdde8ed342b
Reviewed-on: https://chromium-review.googlesource.com/1157228
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595194}
[modify] https://crrev.com/0190618cc8bdee3297db05bee5863acbab6461f2/content/browser/accessibility/accessibility_win_browsertest.cc
[modify] https://crrev.com/0190618cc8bdee3297db05bee5863acbab6461f2/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/0190618cc8bdee3297db05bee5863acbab6461f2/content/browser/accessibility/browser_accessibility.h

Project Member

Comment 2 by bugdroid1@chromium.org, Oct 4

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

commit 7565b09d2cb81a1417450a1e6edf93f9aee5a593
Author: Aaron Leventhal <aleventhal@chromium.org>
Date: Thu Oct 04 05:10:22 2018

Useful result for IAText get_characterExtents() in empty textfield

Products like ZoomText use get_characterExtents with the special IA2_TEXT_OFFSET_CARET to get the
bounds of the character with the caret. Sometimes this results in getting the bounds for the
null character at the end of an editable textfield's text. In this case, get_characterExtents()
should return what the caret bounds would be if placed there.

In order to make this work, we can use the bounds of the anonymous inner editor element within
a textfield, and collapse it to the width of the caret. Normally this is exposed, but in the
case of an empty textfield, we were ignoring it.

This CL also adds a lot more tests for different kinds of empty fields. The plan is to move
the character extents implementation into the ui/accessibility code so that the automation
API support can leverage it.

Bug:  869985 

Change-Id: I907a9df834f88aa9bf536e4dbbc9432e33d31202
Reviewed-on: https://chromium-review.googlesource.com/c/1255203
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596513}
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/browser/accessibility/accessibility_win_browsertest.cc
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-button-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-checkbox-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-combobox-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-describedby-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-details-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-disabled-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-errormessage-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-labelledby-heading-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-menuitem-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-readonly-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria-tooltip-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/aria1.1-combobox-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/aria/input-text-aria-placeholder-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/html/action-verbs-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/html/input-list-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/html/input-number-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/html/input-reset-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/html/input-submit-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/html/input-suggestions-source-element-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/html/input-text-name-calc-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/html/input-text-value-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/html/label-updates-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/content/test/data/accessibility/html/legend-expected-blink.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/third_party/WebKit/LayoutTests/accessibility/aria-owns-ignores-leafs.html
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/third_party/WebKit/LayoutTests/accessibility/crash-determining-aria-role-when-label-present-expected.txt
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/third_party/WebKit/LayoutTests/accessibility/crash-determining-aria-role-when-label-present.html
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
[modify] https://crrev.com/7565b09d2cb81a1417450a1e6edf93f9aee5a593/third_party/blink/renderer/modules/accessibility/ax_layout_object.h

Status: Fixed (was: Started)

Sign in to add a comment