<html>
    <head>
      <base href="https://bugs.webkit.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - AX: Make PDFs loaded via <embed> accessible"
   href="https://bugs.webkit.org/show_bug.cgi?id=229556#c11">Comment # 11</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - AX: Make PDFs loaded via <embed> accessible"
   href="https://bugs.webkit.org/show_bug.cgi?id=229556">bug 229556</a>
              from <span class="vcard"><a class="email" href="mailto:tyler_w@apple.com" title="Tyler Wilcock <tyler_w@apple.com>"> <span class="fn">Tyler Wilcock</span></a>
</span></b>
        <pre><span class="quote">> can you verify reaching into the PDF document to get a node
> can you also do a hit test into the embedded object to ensure we return an element</span >
Any time I hit test or descend into the PDF tree and try to get an attribute to use for test output, I get a crash like this:

Crashing on exception: -[PDFLayerController accessibilityAttributeValue:]: unrecognized selector sent to instance 0x1567298f0"

Or:

-[PDFLayerController accessibilityAttributeNames]: unrecognized selector sent to instance 0x10622c560

Here’s how I’m hit testing:

hitTestResult = accessibilityController.elementAtPoint(pdfAxObject.width / 2, pdfAxObject.height / 2)
shouldBe("hitTestResult.stringAttributeValue('AXRole')", "1");

Same result using `childAtIndex()` to descend into the PDF tree.

<span class="quote">> Do we need the return value to be NSObject *?

</span >
I used NSObject * because that’s what PluginView::accessibilityObject() returns without my patch (this is the accessibilityObject we need to connect to the PDF tree):

<a href="https://github.com/WebKit/WebKit/blob/c4af6be06909465afa97c8f3490f13d0c42ad1dd/Source/WebKit/WebProcess/Plugins/PluginView.h#L90">https://github.com/WebKit/WebKit/blob/c4af6be06909465afa97c8f3490f13d0c42ad1dd/Source/WebKit/WebProcess/Plugins/PluginView.h#L90</a>

I can try switching that to `id`, but I’d have to change downstream callers of that, too.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>