Bug 130250 - AX: Not able to use arrow keys to read text with VoiceOver before selection is set someplace (anyplace).
Summary: AX: Not able to use arrow keys to read text with VoiceOver before selection i...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac (Intel) OS X 10.9
: P2 Normal
Assignee: Samuel White
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2014-03-14 11:00 PDT by Samuel White
Modified: 2014-03-26 12:26 PDT (History)
11 users (show)

See Also:


Attachments
Patch. (25.93 KB, patch)
2014-03-17 10:40 PDT, Samuel White
no flags Details | Formatted Diff | Diff
Updated patch. (24.71 KB, patch)
2014-03-17 14:06 PDT, Samuel White
no flags Details | Formatted Diff | Diff
Updated patch. (26.75 KB, patch)
2014-03-17 14:54 PDT, Samuel White
no flags Details | Formatted Diff | Diff
Updated patch. (26.28 KB, patch)
2014-03-18 10:39 PDT, Samuel White
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Samuel White 2014-03-14 11:00:07 PDT
If selection hasn't yet been set, accessibility clients (VoiceOver) can't move selection around using arrow keys (works correctly AFTER initial selection has been set).
Comment 1 Samuel White 2014-03-17 10:40:07 PDT
Created attachment 226938 [details]
Patch.

Possible we shouldn't expose the ability to toggle enhanced accessibility to every platform. Looks like iOS doesn't key off it for anything. Thoughts?
Comment 2 chris fleizach 2014-03-17 11:20:40 PDT
(In reply to comment #1)
> Created an attachment (id=226938) [details]
> Patch.
> 
> Possible we shouldn't expose the ability to toggle enhanced accessibility to every platform. Looks like iOS doesn't key off it for anything. Thoughts?

Seems like iOS could key off of this in a future world
Comment 3 chris fleizach 2014-03-17 11:32:56 PDT
Comment on attachment 226938 [details]
Patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=226938&action=review

> LayoutTests/platform/mac/accessibility/selection-initial.html:33
> +        // Enable enhanced accessibility (necessary for accessibility specific seleciton handling).

spelling
seleciton

> LayoutTests/platform/mac/accessibility/selection-initial.html:67
> +        accessibilityController.enableEnhancedAccessibility(false);

this should be disabled in the TestRunner code itself, much like we disable AX after each test

> Source/WebCore/page/EventHandler.cpp:3063
> +    

unnecessary whitespace change

> Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:83
> +WK_EXPORT void WKAccessibilityEnableEnhancedAccessibility(bool enable);

"enable" not necessary
Comment 4 Samuel White 2014-03-17 11:48:57 PDT
(In reply to comment #3)
> (From update of attachment 226938 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=226938&action=review
> 
> > LayoutTests/platform/mac/accessibility/selection-initial.html:33
> > +        // Enable enhanced accessibility (necessary for accessibility specific seleciton handling).
> 
> spelling
> seleciton
> 
> > LayoutTests/platform/mac/accessibility/selection-initial.html:67
> > +        accessibilityController.enableEnhancedAccessibility(false);
> 
> this should be disabled in the TestRunner code itself, much like we disable AX after each test

Good point. I'm only seeing 'resetToConsistentState' on the AX controller. Can you point me toward the area you're mentioning. Thanks.

> 
> > Source/WebCore/page/EventHandler.cpp:3063
> > +    
> 
> unnecessary whitespace change
> 
> > Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:83
> > +WK_EXPORT void WKAccessibilityEnableEnhancedAccessibility(bool enable);
> 
> "enable" not necessary
Comment 5 chris fleizach 2014-03-17 11:52:34 PDT
(In reply to comment #4)
> (In reply to comment #3)
> > (From update of attachment 226938 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=226938&action=review
> > 
> > > LayoutTests/platform/mac/accessibility/selection-initial.html:33
> > > +        // Enable enhanced accessibility (necessary for accessibility specific seleciton handling).
> > 
> > spelling
> > seleciton
> > 
> > > LayoutTests/platform/mac/accessibility/selection-initial.html:67
> > > +        accessibilityController.enableEnhancedAccessibility(false);
> > 
> > this should be disabled in the TestRunner code itself, much like we disable AX after each test
> 
> Good point. I'm only seeing 'resetToConsistentState' on the AX controller. Can you point me toward the area you're mentioning. Thanks.

https://bugs.webkit.org/attachment.cgi?id=222286&action=review

> 
> > 
> > > Source/WebCore/page/EventHandler.cpp:3063
> > > +    
> > 
> > unnecessary whitespace change
> > 
> > > Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:83
> > > +WK_EXPORT void WKAccessibilityEnableEnhancedAccessibility(bool enable);
> > 
> > "enable" not necessary
Comment 6 Samuel White 2014-03-17 14:06:53 PDT
Created attachment 226961 [details]
Updated patch.

Updates per feedback.
Comment 7 Samuel White 2014-03-17 14:08:46 PDT
(In reply to comment #3)
> (From update of attachment 226938 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=226938&action=review
> 
> > LayoutTests/platform/mac/accessibility/selection-initial.html:33
> > +        // Enable enhanced accessibility (necessary for accessibility specific seleciton handling).
> 
> spelling
> seleciton

Oops, fixed.

> 
> > LayoutTests/platform/mac/accessibility/selection-initial.html:67
> > +        accessibilityController.enableEnhancedAccessibility(false);
> 
> this should be disabled in the TestRunner code itself, much like we disable AX after each test

Fixed.

> 
> > Source/WebCore/page/EventHandler.cpp:3063
> > +    
> 
> unnecessary whitespace change

This was me fixing the only non indented newline.

> 
> > Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:83
> > +WK_EXPORT void WKAccessibilityEnableEnhancedAccessibility(bool enable);
> 
> "enable" not necessary

Removed.
Comment 8 Samuel White 2014-03-17 14:54:44 PDT
Created attachment 226969 [details]
Updated patch.

Speculative fix to get win building.
Comment 9 chris fleizach 2014-03-17 16:16:02 PDT
Comment on attachment 226969 [details]
Updated patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=226969&action=review

> Source/WebCore/page/EventHandler.cpp:3063
> +    

superfluous line change should be removed

> Source/WebCore/ChangeLog:8
> +        If initial selection isn't set when we handle selection movement for accessibility we need to set it.

why do we need to set it?
Comment 10 Samuel White 2014-03-17 16:31:54 PDT
(In reply to comment #9)
> (From update of attachment 226969 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=226969&action=review
> 
> > Source/WebCore/page/EventHandler.cpp:3063
> > +    
> 
> superfluous line change should be removed

Can you elaborate on why this change should be removed? It was the only incorrectly indented line, fixing it seems helpful and related as this function was being reworked.

> 
> > Source/WebCore/ChangeLog:8
> > +        If initial selection isn't set when we handle selection movement for accessibility we need to set it.
> 
> why do we need to set it?

Are you insinuating that the comment should be more detailed?
Comment 11 chris fleizach 2014-03-17 16:43:49 PDT
Comment on attachment 226969 [details]
Updated patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=226969&action=review

>>> Source/WebCore/page/EventHandler.cpp:3063
>>> +    
>> 
>> superfluous line change should be removed
> 
> Can you elaborate on why this change should be removed? It was the only incorrectly indented line, fixing it seems helpful and related as this function was being reworked.

it looks like (i might be incorrect), that you're adding a line with 4 empty spaces in it.
I think the preference in WebKit is to have lines with no empty spaces if possible

>>> Source/WebCore/ChangeLog:8
>>> +        If initial selection isn't set when we handle selection movement for accessibility we need to set it.
>> 
>> why do we need to set it?
> 
> Are you insinuating that the comment should be more detailed?

Yes please
Comment 12 Samuel White 2014-03-18 09:49:58 PDT
<rdar://problem/16327812>
Comment 13 Samuel White 2014-03-18 10:39:30 PDT
Created attachment 227072 [details]
Updated patch.

Should fix remaining other platform build issues.
Comment 14 Samuel White 2014-03-18 13:04:18 PDT
(In reply to comment #11)
> (From update of attachment 226969 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=226969&action=review
> 
> >>> Source/WebCore/page/EventHandler.cpp:3063
> >>> +    
> >> 
> >> superfluous line change should be removed
> > 
> > Can you elaborate on why this change should be removed? It was the only incorrectly indented line, fixing it seems helpful and related as this function was being reworked.
> 
> it looks like (i might be incorrect), that you're adding a line with 4 empty spaces in it.
> I think the preference in WebKit is to have lines with no empty spaces if possible
> 

We should prob. consider adding this to the style guide.
https://bugs.webkit.org/show_bug.cgi?id=130415
Deleted the indents to make spacing uniform. Thanks.

> >>> Source/WebCore/ChangeLog:8
> >>> +        If initial selection isn't set when we handle selection movement for accessibility we need to set it.
> >> 
> >> why do we need to set it?
> > 
> > Are you insinuating that the comment should be more detailed?
> 
> Yes please

Done.
Comment 15 WebKit Commit Bot 2014-03-18 23:18:09 PDT
Comment on attachment 227072 [details]
Updated patch.

Clearing flags on attachment: 227072

Committed r165870: <http://trac.webkit.org/changeset/165870>
Comment 16 WebKit Commit Bot 2014-03-18 23:19:02 PDT
All reviewed patches have been landed.  Closing bug.
Comment 17 Brent Fulgham 2014-03-26 12:26:22 PDT
This change caused tests on Windows to start crashing. This is because of the weird way DRT on Windows links to the WebCore test stuff. We can wind up with multiple definitions for the symbols.

I checked in a correction in r166307 <https://trac.webkit.org/r166307>.