Wikimedia Foundation Design/Typography

From MediaWiki.org
Jump to: navigation, search

Type is a core visual element of Wikipedia's language. The choices around typography are carefully considered for:

  • Readability: Typefaces must be legible and readable at all sizes. Type as an element must help differentiate interface from article content.
  • Accessibility: Dyslexia and visual impairments must not get in the way of access. We must enable access for users with impairments.
  • Availability: All typefaces we use must be already available, or made available. Any selections must degrade gracefully across devices and platforms (OS X, Windows, Linux, Mobile Platforms)
  • Consistency: A consistent visual experience across desktop and mobile.

Vector typeface specifications[edit | edit source]

Headings
font-family: "Linux Libertine", Georgia, Times, serif;

Serif headings have been tested on Wikipedia mobile and have received a positive response.[citation needed] With applying these changes to desktop, we are aiming for consistency between desktop and mobile styles.

Body copy
font-family: Arimo, "Liberation Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

While Georgia and Helvetica are fonts optimized for the web, we can see that body gracefully degrades to Arial because it is freely available on nearly every computer and operating system while being a screen-friendly typeface. After that, there is a free font, Liberation Sans, and finally a fallback that is always available, sans-serif. This selection may change as other typefaces develop ubiquity. For the near future, Arial will continue to serve as WMF's fallback. On Linux-based operating systems, Nimbus Sans L & Liberation Sans will be specified as the san-serif fonts. Note that free systems may also substitute other free fonts for proprietary ones mentioned earlier in the stack.

Type size[edit | edit source]

A Typography audit is available. It shows a lack of consistent type sizes and colors.

MediaWiki's default Vector skin sets font-size for #bodyContent at 0.8em, this becomes 13px in Chromium and 12.8px in Firefox.

Type size for navigation elements in the left are marginally reduced by 0.1-0.3 em to help them fade to the background in comparison to the article which is the foreground. Since the navigation areas are distinct, we expect that changes in the size will not hamper clicking on the links.

Paragraph justification[edit | edit source]

We avoid justified type for paragraph blocks altogether. Justified type creates "rivers" and has a "gutter" side effect which can appear as a moire pattern. We will employ aligned text (left for left-to-right languages; right-aligned for right-to-left languages).

Shift & emphasis[edit | edit source]

In the User Interface and documentation, only one shift is required for emphasis. If a word or phrase is italicized it does not also need bolding. Further, use bold and italic as lit­tle as pos­si­ble as they are tools for empha­sis. If every­thing is empha­sized, then nothing is empha­sized.

Multiple script support[edit | edit source]

Typography experiment applied to different languages: Latin, Korean (with some Chinese characters), Malayalam, Bengali and Tibetan.

When looking for the appropriate text metrics such as font size or line height, different scripts should be taken into consideration. Scripts differ in the density of their glyphs (e.g., Chinese) and their height (e.g., Javanese, Burmese, Telugu). On the one hand, an appropriate font size will help to identify all the strokes of "dense" glyphs. On the other hand, an appropriate line height will avoid glyphs from different lines to clash.

The default text metrics provided should result in legible text for as many scripts as possible, and making custom adjustments to some scripts only in exceptional cases.

An initial test was done for several scripts using the current metrics proposed, resulted in legible text for scripts that had presented problems in the past. More adjustments are probably needed in the future, for which feedback from native readers of all different scripts we support is highly appreciated.

Grids[edit | edit source]

Accessibility & legibility[edit | edit source]

Research references[edit | edit source]