Cam's Test Wiki
Advertisement
Draft proposal for wiki(m/p)edia
Make it looks like an RfC. MW devs will probably like it more when we request nav (and header?) tags be enabled).
Collapsing tests at /collapsing
Stylesheet: MediaWiki:Common.less

Rationale[]

Navboxes are undeniably used for navigating between pages, yet they are commonly implemented as tables. Unfortunately, this causes issues with performance[1] and accessibility[2] which is unacceptable(?) for a template found on over 2.4m pages[3]. They also don't render very well for mobile views.[4]

This is most likely a side-effect of what was supported in browsers at the time of their inception, but now it is time to move to something more inline with modern web standards.

notes
  • navboxes should have semantic meaning (as all modern HTML should)
  • should use nav tag (T25932 and a bit of T66477)
    • list accessibility improvements
  • reference html5 spec
  • wikipedia metadata
  • used on 2.4m pages on enwiki alone
  • T55437 remove navboxes for mobile views
  • nested tables are bad

references[]

  1. Performance issues are caused by nested tables (i.e. navbox subgroups).[source]
  2. Accessibility issues are caused by the use of th which means navboxes are identified as data tables by screen readers.[source]
  3. Template transclusion count
  4. T55437: Navboxes look bad in Mobile

Example structure[]

<nav>
  <header>Title</header>
  <dl>
    <dt>Group 1</dt>
    <dd>List 1 item 1 • List 1 item 2 • List 1 item 3 • List 1 item 4 • List 1 item 5</dd>

    <dt>Group 2</dt>
    <dd>List 2 item 1 • List 2 item 2 • List 2 item 3 • List 2 item 4 • List 2 item 5</dd>

    <dt>Group 3</dt>
    <dd>List 3 item 1 • List 3 item 2 • List 3 item 3 • List 3 item 4 • List 3 item 5</dd>
  </dl>
</nav>

Test usage[]

See Module:Navbox for implementation.
Advertisement