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
font-family: "Linux Libertine", Georgia, Times, serif;
Serif headings received a positive response on Wikipedia mobile. They are now consistent between desktop and mobile.
- Body copy
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.
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.
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
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 little as possible as they are tools for emphasis. If everything is emphasized, then nothing is emphasized.
Multiple script support
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.
Since the Typography refresh in 2014, the body font is color #252525.
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.
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).
- 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:
- https://colorbrewer2.org/ and select
- https://davidmathlogic.com/colorblind/ and scroll down to
- Template:Background color lists some colors that are especially suitable for text-background highlighting.
- Grids are Good - SXSW Presentation
- Thinking with Type: Grids
- Setting Web Type to a Baseline Grid - Opera Browser Guidelines
- Typography Is a Grid - Hyphen Press
- On the Grid - Khoi Vinh (Design Lead @ NY Times)
- Applying Mathematics to Web Design - Smashing Magazine
Accessibility & legibility
- Lighthouse International: Effective Color Contrast
- Lighthouse International: Making Text Legible
- Web Design for Dyslexic Users
- Web Designing for Dyslexia
- Line length