Re: Custom text fields not working with VoiceOver.
Re: Custom text fields not working with VoiceOver.
- Subject: Re: Custom text fields not working with VoiceOver.
- From: Dominic Mazzoni <email@hidden>
- Date: Tue, 26 Apr 2011 08:06:02 -0700
I spent a few hours playing with this and I'm still mystified. I
captured all of the events Safari sends when typing into an edit box
and modified Chrome to send the exact same events in the same order
(AXLayoutComplete, AXSelectedTextChanged, AXValueChanged). I checked
all of the attributes I could make sense of, including
AXVisibleCharacterRange and anything else listed by Accessibility
Inspector as a possible warning or error.
The only relevant-sounding attributes we're not implementing now are
AXStartTextMarker, AXEndTextMarker, and AXSelectedTextMarkerRange. Is
it possible to implement these without using wkCreateAXTextMarker
(which appears to be a private API that we can't access)?
One other thing I'm noticing is that VoiceOver is not browsing
Chrome's contents like it's web content. If I change the role of the
main container from AXWebArea to something else, it behaves
identically in VoiceOver. Most content other than editable text boxes
is perfectly accessible, but it behaves as if the content was in a
generic (non-web) app, where something like a list is hierarchical,
rather than like in Safari, where by default a list is announced first
and then browsed linearly.
Does Safari do anything else to tell VoiceOver that it's a web
browser? Is this related to the problems with text fields?
- Dominic
On Thu, Mar 31, 2011 at 10:10 PM, David Tseng <email@hidden> wrote:
> Chrome's firing both events.
>
> As another possibility -- Chrome also implements NSTextInput and
> performs some logic with the insertText method (to support different
> input methods). Does VoiceOver use any other api's to listen for key
> presses to echo characters (besides selected text changed and value
> changed)?
>
>
>
> On 3/31/11, Chris Fleizach <email@hidden> wrote:
>> Are you sending NSAccessibilityValueChangedNotification
>>
>> and NSAccessibilitySelectedTextChangedNotification
>>
>> notifications?
>>
>> I also see there's no kAXVisibleCharacterRange attribute.
>>
>> If that doesn't work, I'd look at what WebCore does, because they are doing
>> the same thing, in AccessibilityObjectWrapper.mm
>>
>> On Mar 31, 2011, at 2:42 PM, David Tseng wrote:
>>
>>> Here's the log of me typing "asdf" into a search box (with an observer
>>> set on all nodes in the hierarchy):
>>>
>>>
>>> 2011-03-31 14:37:38.667 Shiner[65295:903] Observing 65271
>>> 2011-03-31 14:37:41.258 Shiner[65295:903] Event:AXApplicationActivated
>>> Element:<AXApplication: “Chromium”>
>>>
>>> Attributes:
>>> AXRole: “AXApplication”
>>> AXRoleDescription: “application”
>>> AXTitle: “Chromium”
>>> AXChildren: “<array of size 3>”
>>> AXMenuBar: “<AXMenuBar>”
>>> AXWindows: “<array of size 2>”
>>> AXFrontmost (W): “1”
>>> AXHidden (W): “0”
>>> AXMainWindow: “<AXWindow: “Google”>”
>>> AXFocusedWindow: “<AXWindow: “Google”>”
>>> AXFocusedUIElement: “<AXTextField: “Google Search”>”
>>> AXEnhancedUserInterface (W): “1”
>>> 2011-03-31 14:37:43.353 Shiner[65295:903] Event:AXSelectedTextChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “a”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “1”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=1 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=1”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:43.358 Shiner[65295:903] Event:AXSelectedTextChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “a”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “1”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=1 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=1”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:43.363 Shiner[65295:903] Event:AXValueChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “a”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “1”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=1 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=1”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:43.368 Shiner[65295:903] Event:AXValueChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “a”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “1”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=1 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=1”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:43.833 Shiner[65295:903] Event:AXSelectedTextChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “as”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “2”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=2 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=2”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:43.839 Shiner[65295:903] Event:AXSelectedTextChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “as”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “2”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=2 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=2”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:43.845 Shiner[65295:903] Event:AXValueChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “as”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “2”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=2 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=2”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:43.850 Shiner[65295:903] Event:AXValueChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “as”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “2”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=2 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=2”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:44.249 Shiner[65295:903] Event:AXSelectedTextChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “asd”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “3”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=3 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=3”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:44.255 Shiner[65295:903] Event:AXSelectedTextChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “asd”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “3”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=3 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=3”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:44.259 Shiner[65295:903] Event:AXValueChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “asd”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “3”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=3 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=3”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:44.264 Shiner[65295:903] Event:AXValueChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “asd”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “3”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=3 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=3”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:44.715 Shiner[65295:903] Event:AXSelectedTextChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “asdf”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “4”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=4 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=4”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:44.720 Shiner[65295:903] Event:AXSelectedTextChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “asdf”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “4”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=4 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=4”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:44.725 Shiner[65295:903] Event:AXValueChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “asdf”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “4”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=4 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=4”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:44.732 Shiner[65295:903] Event:AXValueChanged
>>> Element:<AXApplication: “Chromium”>
>>> <AXWindow: “Google”>
>>> <AXSplitGroup>
>>> <AXSplitGroup>
>>> <AXScrollArea>
>>> <AXWebArea: “Google”>
>>> <AXGroup: “”>
>>> <AXGroup: “”>
>>> <AXTextField: “Google Search”>
>>>
>>> Attributes:
>>> AXChildren: “<array of size 0>”
>>> AXDescription: “”
>>> AXEnabled: “1”
>>> AXFocused (W): “1”
>>> AXHelp: “Google Search”
>>> AXParent: “<AXGroup: “”>”
>>> AXPosition: “x=530 y=359”
>>> AXRole: “AXTextField”
>>> AXRoleDescription: “text field”
>>> AXSize: “w=512 h=32”
>>> AXTitle: “Google Search”
>>> AXTopLevelUIElement: “<AXWindow: “Google”>”
>>> AXValue (W): “asdf”
>>> AXWindow: “<AXWindow: “Google”>”
>>> AXURL: “”
>>> AXVisited: “0”
>>> AXInsertionPointLineNumber: “0”
>>> AXNumberOfCharacters: “4”
>>> AXSelectedText: “”
>>> AXSelectedTextRange: “pos=4 len=0”
>>> AXVisibleCharacterRange: “pos=0 len=4”
>>>
>>> Actions:
>>> AXShowMenu - show menu
>>> 2011-03-31 14:37:47.074 Shiner[65295:903]
>>> Event:AXApplicationDeactivated Element:<AXApplication: “Chromium”>
>>>
>>> Attributes:
>>> AXRole: “AXApplication”
>>> AXRoleDescription: “application”
>>> AXTitle: “Chromium”
>>> AXChildren: “<array of size 3>”
>>> AXMenuBar: “<AXMenuBar>”
>>> AXWindows: “<array of size 2>”
>>> AXFrontmost (W): “0”
>>> AXHidden (W): “0”
>>> AXMainWindow: “<AXWindow: “Google”>”
>>> AXFocusedWindow: “<AXWindow: “Google”>”
>>> AXFocusedUIElement: “<AXTextField: “Google Search”>”
>>> AXEnhancedUserInterface (W): “1”
>>>
>>>
>>>
>>> On 3/31/11, Chris Fleizach <email@hidden> wrote:
>>>> It's likely one of the following values is wrong
>>>>
>>>>
>>>> AXValue (W): ""
>>>> AXNumberOfCharacters: "0"
>>>> AXSelectedText: ""
>>>> AXSelectedTextRange: "pos=0 len=0"
>>>> AXVisibleCharacterRange: "pos=0 len=0"
>>>>
>>>> If you can also attach a tree output when there's text in the textfield
>>>> and
>>>> the cursor is at a specific location, it might help
>>>>
>>>> On Mar 31, 2011, at 1:56 PM, David Tseng wrote:
>>>>
>>>>> Hi list,
>>>>>
>>>>> I'm working on a custom text field and am running into an odd issue
>>>>> when testing with VoiceOver.
>>>>>
>>>>> Firstly, for some background, this is part of the accessibility work
>>>>> done for Chrome.
>>>>> The text field is entirely custom; we're implementing the
>>>>> NSAccessibility informal protocol. I've pasted the output from
>>>>> Accessibility Inspector below. We're also firing SelectedTextChanged
>>>>> and ValueChanged notifications appropriately as the typed text and
>>>>> insertion position changes.
>>>>>
>>>>> The issue that we're running into is that VoiceOver reads only the
>>>>> first typed character, but subsequent typed characters results in an
>>>>> error tone. If one tabs away and back to the text field, arrowing
>>>>> left or right echos characters appropriately, but typing characters
>>>>> results in VoiceOver echoing the already typed string (regardless of
>>>>> what's typed). It's as if VoiceOver hasn't requested the new value
>>>>> attribute. We're auto releasing the value when returning the
>>>>> NSString.
>>>>>
>>>>>
>>>>> Attributes:
>>>>> AXChildren: "<array of size 0>"
>>>>> AXDescription: ""
>>>>> AXEnabled: "true"
>>>>> AXFocused (W): "true"
>>>>> AXHelp: ""
>>>>> AXParent: "<AXGroup: "text field">"
>>>>> AXPosition: "x=196 y=403"
>>>>> AXRole: "AXTextField"
>>>>> AXRoleDescription: "text field"
>>>>> AXSize: "w=175 h=19"
>>>>> AXTitle: ""
>>>>> AXTopLevelUIElement: "<AXWindow: "Google Accounts">"
>>>>> AXValue (W): ""
>>>>> AXWindow: "<AXWindow: "Google Accounts">"
>>>>> AXURL: ""
>>>>> AXVisited: "false"
>>>>> AXInsertionPointLineNumber: "0"
>>>>> AXNumberOfCharacters: "0"
>>>>> AXSelectedText: ""
>>>>> AXSelectedTextRange: "pos=0 len=0"
>>>>> AXVisibleCharacterRange: "pos=0 len=0"
>>>>>
>>>>> Actions:
>>>>> AXShowMenu - show menu
>>>>>
>>>>> Errors:
>>>>> AXStartTextMarker: Missing
>>>>> AXEndTextMarker: Missing
>>>>> AXBlockQuoteLevel: Missing
>>>>> AXSelected: Missing
>>>>> AXSelectedTextMarkerRange: Missing
>>>>>
>>>>> Warnings:
>>>>> AXURL: Unexpected extra attribute
>>>>> AXDescription or AXTitleUIElement: Missing.
>>>>>
>>>>> Optional Attributes:
>>>>> AXLinkedUIElements
>>>>> AXValueDescription
>>>>> AXSearchButton
>>>>> AXPlaceholderValue
>>>>> AXTitleUIElement
>>>>> AXClearButton
>>>>> AXSelectedTextRanges
>>>>> AXSubrole
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Accessibility-dev mailing list (email@hidden)
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>
>>>>> This email sent to email@hidden
>>>>
>>>>
>>
>>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Accessibility-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Accessibility-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden