I am writing my own screen-reader esque software and would like it to work with Chromium. Search Predicates are used by VoiceOver to query for multiple elements in a single AX call for performance reasons. I'm trying to follow that as well.
I noticed that if I pass more than one search key to the AXUIElementsForSearchPredicate parameterized attribute, I get zero elements back.
I can't attach a file here, I've created a pastebin of the Swift Playground code I've created to make it easy to replicate: https://pastebin.com/DM5CLfYy
1. Open Chrome with a web page
2. Run the code as it (with multiple search keys)
3. 0 should be printed
4. comment out all search keys except for one (e.g. AXLinkSearchKey)
5. run it again, you should a number > 0 printed
If you were to swap the bundle identifier to Safari (com.apple.Safari), you'll notice that it works fine with multiple search keys.
I'm not sure why this is the case for Chromium.