Design/Typography

From mediawiki.org

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]

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

Serif headings received a positive response on Wikipedia mobile.[citation needed] They are now consistent between desktop and mobile.

Body copy
font-family: sans-serif;

The 2014 Typography refresh initially set body copy (the main text of pages) to "Helvetica Neue, Helvetica, Arial, sans-serif", but due to issues on non-Latin wikis, this has been reverted to "sans-serif" until a better solution is found.

Type size[edit]

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.875em, this becomes 14px in Chromium and 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]

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]

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]

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.

Text color[edit]

Since the Typography refresh in 2014, the body font is color #252525.

Contrast[edit]

Text should always have sufficient contrast, to be accessible. Use http://snook.ca/technical/colour_contrast/colour.html to check that the text color and background color you are using, pass the WCAG2 AA compliance level. On a white background, this means grey text of anything lighter than #777777 is not allowed. The only exceptions should be for elements that do not actually need to be legible, such as the word "Search" when used as the placeholder text in a search field.

Color blindness[edit]

If you are using non-monochrome colors, check for contrast using the snook.ca tool, and check for color-blindness accessibility using one of these tools listed below. Protanopia and deuteranopia are the most common forms of color blindness that you should test against (See w:en:Color blindness for details).

Sites
  • Toptal - webpage analysis (redirects from the old tool colorfilter.wickline.org)
  • Coblis - local file analysis (upload an image, and then simulate it in 8 types of color blindness)
Browser extensions for webpage analysis
  • Colorblinding - chrome
  • NoCoffee - chrome (also simulates additional vision problems)
  • NoCoffee - firefox (also simulates additional vision problems)
Standalone Applications

To select a color palette that is accessible, you could refer to these tools:

Grids[edit]

Accessibility & legibility[edit]

Contrast
Line length

Research references[edit]