If you use proper semantic HTML, ARIA attributes are rarely needed.  It&#x27;s a good idea to validate nonetheless, but there&#x27;s no point in writing:<p><pre><code>    &lt;button role=&quot;button&quot;&gt;Sign in&lt;&#x2F;button&gt;
</code></pre>
or<p><pre><code>    &lt;h1 role=&quot;heading&quot;&gt;Heading&lt;&#x2F;h1&gt;
</code></pre>
I can think of only a handful of aria attributes that would be helpful if you use proper HTML, such as `search`, maybe `toolbar` and a few others.<p>But it&#x27;s good to validate the markup regardless, to be sure.