ARIA role="menuitem" for <a> or <li>
<p>I've found two possible solutions:</p>

<ol>
<li><p>apply role="menuitem" for the <code>&lt;li&gt;</code> tags:    </p>

<p><code>&lt;li role="menuitem"&gt;&lt;a ...&gt;some menuitem&lt;/a&gt;&lt;/li&gt;</code></p></li>
<li><p>apply role="menuitem" for the <code>&lt;a&gt;</code> tags:</p>

<p><code>&lt;li role="presentation"&gt;&lt;a role="menuitem" ...&gt;some menuitem&lt;/a&gt;&lt;/li&gt;</code></p></li>
</ol>

<p>I think that the second solution is the logical one, but I am unsure. And I cannot use it in a more complex situation, only 2, because the submenuitems are not children of the <code>&lt;a&gt;</code> tag:</p>

<pre><code>&lt;li role="menuitem"&gt;&lt;a ...&gt;some menuitem&lt;/a&gt;&lt;/li&gt;
&lt;li role="menuitem" aria-haspopup="true"&gt;
  &lt;a ...&gt;some menuitem with children &lt;/a&gt;
  &lt;div&gt;&lt;ul&gt;
    &lt;li role="menuitem"&gt;&lt;a ...&gt;submenuitem&lt;/a&gt;&lt;/li&gt;
    ...
  &lt;/ul&gt;&lt;/div&gt;
&lt;/li&gt;
</code></pre>

<p>Is it correct? Is there some additional possible improvement on it?</p>

<p>The HTML structure is defined by the framework I use, I am not able to change it.</p>