That’s why the anchor gets the role=“button”. Unfortunately you can’t set the target of the page with a button (without JavaScript), that’s why an anchor link is used.
<a href="#something"><button>menu</button></a>
Or maybe: <form action="#something"><button type="submit">menu</button></form>
Not sure either of those options are better than the original post though :)