[Webkit-unassigned] [Bug 187824] AX: Press tab to highlight items on a webpage is not working with voiceover enabled
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jul 19 21:43:56 PDT 2018
https://bugs.webkit.org/show_bug.cgi?id=187824
--- Comment #4 from zalan <zalan at apple.com> ---
(In reply to Nan Wang from comment #3)
> Comment on attachment 345390 [details]
> patch
>
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=345390&action=review
>
> >> Source/WebCore/dom/Document.cpp:1871
> >> + }
> >
> > Any style mutation with an associated renderer will trigger a RenderElement::setStyle() call. Even mutations that don't need layout. Consulting StyleDifference in setStyle() might be a better way to get the AX cache updated.
> > Also you may want to limit the performDeferredCacheUpdate() calls to focusable elements since calling AX cache on every repaint could be a performance hit.
>
> Here we are doing the AX cache update on the document level and it's under
> the styleUpdate check. Are you saying:
> 1. frameView.needsLayout() check is not enough, we should use the
> StyleDifference in renderElement?
> 2. We should move the AX cache update to a RenderElement level, so for each
> RenderElement we check and update the cache in setStyle()? I think
> performDeferredCacheUpdate() is designed as a batch update mechanism. We are
> calling that in FrameView performPostLayoutTasks(). So I'm looking for some
> place similar, that indicates the FrameView;s style is resolved.
Oh right, this is the "perform" and not the "dirtying" part. So who is dirtying the AX tree when non-layout type of mutation happens? I would assume that if AX tree sees that the mutation is not going to trigger layout, it could just issue a timer and update the tree in the next runloop.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180720/fb99c8d3/attachment.html>
More information about the webkit-unassigned
mailing list