There won't be an absolute answer here, but I would like to approach this problem:
As a developer, I always try to use the latest technology (after it has been publicly tested and approved), regardless of whether it extends to the specific syntax of how I encode an HTML block, or how I choose a structure for a project. I would like you to use an element <nav>
for your main navigation. You are correct <nav>
- this is an HTML5 element that will only be recognized by browsers that support HTML5 (these are all major for now, returning a few major versions).
So ... what about older browsers that don't support HTML5, and even better, what about older browsers like IE <9 that don't even render HTML5 elements on the page correctly? It is for these cases that I recommend using HTML5 including script - which uses "hack" or as I like to say "Fix IE" so that even these browsers (yep IE6 +) will render your shiny new HTML5 elements correctly.
This article does some wonderful work summarizing the unknown HTML5 elements and fixes to work around older browser compatibility.
source
to share