Improving the accessibility 

Clip your hidden label is better than set font-size to zero, just for better accessibility.

Modern browsers recognise the HTML5 \<nav\> element as navigation and give it the same attention. But explicitly setting the role="navigation" attribute just makes sure that a lot more technologies can pick it up.