A "correct" fix would be to build stylable core UI elements from the chrome itself. Leave the accessibility to the browsers (and by extension their UI toolkit). For this, you need a standard `<menu>` element, which is in HTML5.1:
https://w3c.github.io/html/interactive-elements.html#the-men...