Community-editable documentation for the CSS Working Group. Live site: https://w3c.github.io/csswg-wiki/
This repo replaces the legacy wiki.csswg.org wiki. Pages are now Markdown files you can edit directly on GitHub.
This repo was initially populated with 294 pages converted from wiki.csswg.org, covering:
- Meeting Planning — Face-to-face meeting plans and schedules
- Ideas and Resolutions — Ideas not yet in a spec
- CSSWG Tools — Documentation about working group tools
- Specification Issues and Planning — Wiki pages for tracking spec-related thoughts
- Testing — CSS testing documentation
The site includes client-side full-text search powered by Lunr.js:
- Build-time indexing —
search.jsongenerates a JSON index of all pages at build time - Client-side search — No server required; search runs entirely in the browser
- Highlighted excerpts — Search results show matching terms highlighted in context
- Keyboard accessible — Header search form submits to dedicated results page
Search is available via the search box in the site header, or directly at /search/.
Each page has “edit this page” links that take you to the GitHub web editing UI. Changes are deployed automatically when merged or committed to main.
The site uses Jekyll. To preview locally:
gem install jekyll
jekyll serveThen open http://localhost:4000/csswg-wiki/
The site uses a modern, accessible frontend built with vanilla HTML, CSS, and JavaScript.
- Mobile-first layout with hamburger menu on screens under 640px
- Fluid typography using CSS
clamp()for readable text at any viewport - Sticky header for persistent navigation access
- Responsive tables wrapped for horizontal scrolling on small screens
The site follows WCAG 2.1 AA guidelines:
- Skip link — "Skip to main content" link for keyboard users
- ARIA landmarks —
banner,navigation,main,complementaryroles - Focus indicators — Visible 2px outline on all interactive elements
- Keyboard navigation — Escape closes mobile menu, focus is managed
- Reduced motion — Respects
prefers-reduced-motionpreference - High contrast — Supports Windows High Contrast Mode (
forced-colors) - Touch targets — Minimum 44×44px tap targets on interactive elements
- Current page indication —
aria-currenton navigation and breadcrumbs
- All modern browsers (Chrome, Firefox, Safari, Edge)
- Graceful degradation for older browsers
- Print stylesheet with expanded URLs
The sources here were converted from the DokuWiki installation at wiki.csswg.org in February 2026.
-
Scrape — A Python scraper (
bin/scrape.py) crawled the DokuWiki site and extracted all 294 pages as static HTML files with clean styling. -
Convert to Markdown — A conversion script (
bin/convert-to-markdown.py) processed the HTML using pandoc to generate Markdown source files, with special handling for DokuWiki plugins:Definition lists — DokuWiki’s
plugin_definitionlistused<dl>/<dt>/<dd>markup. Since pandoc doesn’t output kramdown’s definition list syntax, the script extracts these before pandoc runs and restores them afterward as proper kramdown:Term : DefinitionGFM-style alerts — DokuWiki’s
plugin_notedivs (with classes likenoteimportant,notewarning,notetip) are converted to GitHub-flavored Markdown alert syntax, rendered at runtime byassets/alerts.js:> [!IMPORTANT] > Alert content hereTopic metadata — The
dataplugin_entrystructured data (used on/topics/pages for tracking spec issues) is converted to inline metadata:**Spec:** css3-flexbox | **Owner:** tabatkins | **Status:** Closed | **Added:** 2012-05-16Emoji conversion — DokuWiki smiley images (
/lib/images/smileys/*.svg) are replaced with Unicode emoji::!:→⚠️ ,:?:→ ❓,FIXME→ 🚧, etc.Broken media cleanup — References to missing wiki images (
/_media/) and DokuWiki proxy URLs (/lib/exe/fetch.php) are removed or replaced with placeholder text.General cleanup — Stripped
rel,class, andidattributes from links; removed redundanttitleattributes; converted<span class="abbr">to plain text (handled by JavaScript at runtime). -
Jekyll setup — Added Jekyll configuration, layout template with “edit this page” links, and automatic breadcrumb generation.
-
Abbreviation handling — Added
assets/abbr.jsto wrap known abbreviations (CSS, HTML, W3C, IRC, URL, GUI) in<abbr>tags with tooltips at runtime.
- Python 3.8+
- pandoc
- Network access to wiki.csswg.org
Generated: 2026-02-14
This listing excludes 166 pages that were bulk-imported on 2014/12/09.
The wiki content is governed by the W3C Document License.