Besides exposing the value of aria-invalid as a text attribute (see bug 122015), we need to expose this attribute as well as a state for the given object, by means of ATK_STATE_INVALID_ENTRY
<rdar://problem/15110696>
Depending on bug 122015, since the changes in DRT/WKTR will be based on the patch for that bug
Created attachment 213251 [details] Patch proposal
Comment on attachment 213251 [details] Patch proposal View in context: https://bugs.webkit.org/attachment.cgi?id=213251&action=review > Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp:729 > + if (!invalidStatus.isEmpty() && invalidStatus != "false") invalidStatus should never be empty based on previous patch you submitted > Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:1045 > + // If no text attribute was found, just return what the state says. this comment is not necessary. you're just explaining what the code does rather than why it does it > Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:1051 > + if (isInvalidState != (attributeValue != "false")) this is a little confusing. maybe split this into to two if/if statements for clarity?
Created attachment 213346 [details] Patch proposal (In reply to comment #4) > (From update of attachment 213251 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=213251&action=review > > > Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp:729 > > + if (!invalidStatus.isEmpty() && invalidStatus != "false") > > invalidStatus should never be empty based on previous patch you submitted Argh... true. Changed it > > Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:1045 > > + // If no text attribute was found, just return what the state says. > > this comment is not necessary. you're just explaining what the code does rather than why it does it > Removed > > Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:1051 > > + if (isInvalidState != (attributeValue != "false")) > > this is a little confusing. maybe split this into to two if/if statements for clarity? I replaced it with this: bool isAriaInvalid = attributeValue != "false"; if (isInvalidState != isAriaInvalid) { return JSStringCreateWithCharacters(0, 0); } I guess that way is more clear now.
Committed r157096: <http://trac.webkit.org/changeset/157096>