This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 11467 - abbreviating navigation tag to "nav" is inconsistent with spec
Summary: abbreviating navigation tag to "nav" is inconsistent with spec
Status: CLOSED WONTFIX
Alias: None
Product: HTML WG
Classification: Unclassified
Component: LC1 HTML5 spec (show other bugs)
Version: unspecified
Hardware: All All
: P2 critical
Target Milestone: ---
Assignee: Ian 'Hixie' Hickson
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-04 01:22 UTC by Matth
Modified: 2011-08-04 05:01 UTC (History)
7 users (show)

See Also:


Attachments

Description Matth 2010-12-04 01:22:43 UTC
This has been bugging me for a while; hence a bug report.

The shortening of "navigation" into the slang term "nav" seems arbitrary, since other tags in the html5 spec are not swapped for shorter nicknames.

To maintain consistency, change *nav* to the semantically descriptive *navigation.*

If this is not possible, shorten the following tags to match this argot:

*header* should become *head*
*footer* must be changed to *foot*
*article* becomes *art*
*section* becomes *sec* 
and *html* can be shortened to *htm,* or perhaps just *h.*

Thank you in advance for correcting this,

Matth Jenks
Comment 1 Toby Inkster 2010-12-04 10:16:51 UTC
(In reply to comment #0)
> The shortening of "navigation" into the slang term "nav" seems arbitrary, since
> other tags in the html5 spec are not swapped for shorter nicknames.

Plenty of other elements have shortened names:

* <p> instead of <paragraph>
* <q> instead of <quote>
* <b> instead of <bold>
* <i> instead of <italic>
* <a> instead of <anchor>
* <th> instead of <table-header>
* <tr> instead of <table-row>
* <col> instead of <column>
* <li> instead of <list-item>
* <html> instead of <hypertext-markup-language>

and so on.

The general, but unspoken rule is that if an element is expected to be frequently used (several times on a typical page) and would have an otherwise unwieldy name, an abbreviation is used instead.

<navigation> is probably too long considering many pages have several navigation sections in headers, sidebars, footers, etc. So abbreviating it to <nav> seems right.

<header> and <footer> seem about right, as most pages will only have one of them, and they're not especially long to begin with. <section> and <article> could go either way, but I'd be in favour of keeping the longer version as it's more obvious to newbies what they mean. (e.g. is <art> for artwork? is <sec> a secure part of the page?)
Comment 2 Ms2ger 2010-12-04 12:32:48 UTC
As these elements have been implemented, I strongly object to changing their names.
Comment 3 Aryeh Gregor 2010-12-05 00:25:44 UTC
(In reply to comment #0)
> The shortening of "navigation" into the slang term "nav" seems arbitrary, since
> other tags in the html5 spec are not swapped for shorter nicknames.

There are lots of tags in HTML whose names are abbreviated, and have been since HTML first existed -- e.g., <p> and <a>.  <bdi> and <figcaption> were invented by HTML5 and have abbreviated names too.  The same for the attributes dirname, itemprop, itemref, max, min, pubdate, srcdoc, and srclang.  AFAICT, new elements/attributes are more likely to be given abbreviated names if the full version is too long and the abbreviation would not be confusing.  "nav" is a common abbreviation for "navigation", commonly found in HTML class names.

> *header* should become *head*

Already used.

> *footer* must be changed to *foot*

"footer" is short enough, and should match "header" (since "head" is used).

> *article* becomes *art*

"art" would be unclear -- it's not obviously an abbreviation for "article".

> *section* becomes *sec* 

Would be reasonably clear, but "section" is fairly short already, so it doesn't need to be abbreviated.  "navigation" is much longer.  In pre-HTML5 HTML, I count only one element that's as long as <navigation> (<blockquote>), but eight that are as long as or longer than <section>: <address>, <caption>, <colgroup>, <fieldset>, <noscript>, <optgroup>, <textarea>, plus of course <blockquote>.  Eight letters seems to be about the upper limit for HTML elements, excepting two that are forced to be long because they're two words jammed together and would become less comprehensible if abbreviated (<blockquote> and <figcaption>).

> and *html* can be shortened to *htm,* or perhaps just *h.*

"html" predated HTML5 and cannot possibly be changed at this point.
Comment 4 Ian 'Hixie' Hickson 2011-01-11 00:40:08 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Rejected
Change Description: no spec change
Rationale: IIRC, we actually had it called <navigation> originally, and changed it based on feedback that it was too long. As others have pointed out, it actually is consistent with the style used by HTML (insofar as there is a style). If anything, the exception is <blockquote>.
Comment 5 Michael[tm] Smith 2011-08-04 05:01:07 UTC
mass-moved component to LC1