To be fair the OP hides the trigram from screen readers and provides them with the ‘open menu’ label.
<label for="menustate">
<span class="open">≡</span>
<span class="close">×</span>
</label>
So there still remains "readable" structure loosely identical to <label>identical to multiplication sign</label>
(With active CSS, only one half would be presented to SR, since the other has `display: none`, but still…)BTW Fact that wording of the link in the article pointing to the codepen is "this codepen" is also … not right.