[webkit-reviews] review denied: [Bug 121684] [ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY : [Attachment 221655] patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jan 20 08:26:39 PST 2014
Mario Sanchez Prada <mario at webkit.org> has denied Krzysztof Czech
<k.czech at samsung.com>'s request for review:
Bug 121684: [ATK] Expose aria-describedby with ATK_RELATION_DESCRIBED_BY
https://bugs.webkit.org/show_bug.cgi?id=121684
Attachment 221655: patch
https://bugs.webkit.org/attachment.cgi?id=221655&action=review
------- Additional Comments from Mario Sanchez Prada <mario at webkit.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=221655&action=review
I think the patch looks good already, but I think there are some things that
would need some changes before landing.
> LayoutTests/ChangeLog:8
> + Slightly modified test so that it could test aria-describedby with
multiple id references.
What about "extending" the test VS modifying it? I mean, keeping the "one ID"
only case and adding the new one with two IDs on top of it.
> LayoutTests/accessibility/aria-describedby-on-input-expected.txt:3
> -Allows you to specify the number of minutes after which the computer will
self-destruct.
> +Allows you to specify the number of minutes after
> +which the computer will self-destruct.
Why is this line break showing up here? I would expect the two strings to be
concatenated together with a " " in the middle.
I looked into the implementation in DRT/WKTR, but still is not obvious to me...
> Source/WebCore/accessibility/AccessibilityNodeObject.h:185
> + virtual void elementsFromAttribute(Vector<Element*>& elements, const
QualifiedName&) const override;
I think we normally write OVERRIDE (uppercase letters). Also, why do you need
to make this method virtual if the implementation in the parent is going to be
an empty one?
I see the point of being able to call it from a AccessibilityObject, but I'm
not sure that alone justifies doing this, unless it made sense to move the
whole method (implementation too) up to AccessibilityObject
> Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp:248
> + AccessibilityObject* axObject =
coreObject->document()->axObjectCache()->getOrCreate(element);
The paranoid in me would add a null check for the document, but I don't think
it's possible that you ever reach a null doc if you got this far (so I'm ok)
> Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:819
> + if (atk_relation_get_relation_type(relation) ==
ATK_RELATION_DESCRIBED_BY) {
Nit. I would do if (atk_relation_get_relation_type(relation) !=
ATK_RELATION_DESCRIBED_BY) continue; here, to avoid nesting too much below
> Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:820
> + GPtrArray* targetList = atk_relation_get_target(relation);
Not sure if this targetList can ever be NULL. Looking at AtkRelationSet code
directly suggests that the internal pointer relation->target (returned by
get_target()), could be NULL, although it's not clear whether that will ever
happen in a real-life scenario.
In any case, I would add a null check here, maybe with an "early continue" as
well ("if (!targetList) continue;")
More information about the webkit-reviews
mailing list