Skip to content
/ csswg-wiki Public

CSS Working Group Wiki – community-editable documentation

Notifications You must be signed in to change notification settings

w3c/csswg-wiki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,366 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSS Working Group Wiki

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.

Contents

This repo was initially populated with 294 pages converted from wiki.csswg.org, covering:

Search

The site includes client-side full-text search powered by Lunr.js:

  • Build-time indexingsearch.json generates 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/.

Editing

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.

Local development

The site uses Jekyll. To preview locally:

gem install jekyll
jekyll serve

Then open http://localhost:4000/csswg-wiki/

Frontend design

The site uses a modern, accessible frontend built with vanilla HTML, CSS, and JavaScript.

Responsive design

  • 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

Accessibility

The site follows WCAG 2.1 AA guidelines:

  • Skip link — "Skip to main content" link for keyboard users
  • ARIA landmarksbanner, navigation, main, complementary roles
  • Focus indicators — Visible 2px outline on all interactive elements
  • Keyboard navigation — Escape closes mobile menu, focus is managed
  • Reduced motion — Respects prefers-reduced-motion preference
  • High contrast — Supports Windows High Contrast Mode (forced-colors)
  • Touch targets — Minimum 44×44px tap targets on interactive elements
  • Current page indicationaria-current on navigation and breadcrumbs

Browser support

  • All modern browsers (Chrome, Firefox, Safari, Edge)
  • Graceful degradation for older browsers
  • Print stylesheet with expanded URLs

Conversion from wiki.csswg.org

The sources here were converted from the DokuWiki installation at wiki.csswg.org in February 2026.

Conversion process

  1. Scrape — A Python scraper (bin/scrape.py) crawled the DokuWiki site and extracted all 294 pages as static HTML files with clean styling.

  2. 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_definitionlist used <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
    : Definition
    

    GFM-style alerts — DokuWiki’s plugin_note divs (with classes like noteimportant, notewarning, notetip) are converted to GitHub-flavored Markdown alert syntax, rendered at runtime by assets/alerts.js:

    > [!IMPORTANT]
    > Alert content here
    

    Topic metadata — The dataplugin_entry structured data (used on /topics/ pages for tracking spec issues) is converted to inline metadata:

    **Spec:** css3-flexbox | **Owner:** tabatkins | **Status:** Closed | **Added:** 2012-05-16
    

    Emoji 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, and id attributes from links; removed redundant title attributes; converted <span class="abbr"> to plain text (handled by JavaScript at runtime).

  3. Jekyll setup — Added Jekyll configuration, layout template with “edit this page” links, and automatic breadcrumb generation.

  4. Abbreviation handling — Added assets/abbr.js to wrap known abbreviations (CSS, HTML, W3C, IRC, URL, GUI) in <abbr> tags with tooltips at runtime.

Requirements for re-conversion

  • Python 3.8+
  • pandoc
  • Network access to wiki.csswg.org

Chronicle of historical wiki.csswg.org page activity

Generated: 2026-02-14

This listing excludes 166 pages that were bulk-imported on 2014/12/09.

Year Count Path Pages
2026 9 planning/ cupertino-2026, berlin-2026, cupertino-2023, redmond-2026, scribing, cupertino-2025
(root) main, tools, planning
2025 3 planning/ tpac-2025, paris-2025, newyork-2025
2024 6 ideas/ principles, timelines
planning/ hosting, tpac-2024, galicia-2024, mountain-view-2024
2023 13 ideas/ mistakes
planning/ tpac-2023, f2f-2023, march-2023
spec/ css-text, format-update, publish, css4-ui
tools/ scribing-conventions, bikeshed, spec-processor
(root) faq, test
2022 8 ideas/ nesting-12-22, value-list-components
planning/ tpac-2022, nyc-2022, nyc-2022-logistics
spec/ fantasai
tools/ irc
(root) ideas
2021 17 ideas/ gutter-styling, naming, color-object, print-backgrounds, box-model-extensions, centering, current-url-selector, logical-syntax, margin-collapsing
planning/ tpac-2021, virtual-july-2021, virtual-april-2021, virtual-winter-2021
spec/ cssom-constants, css-scoping
test/ implementation-report
(root) spec
2020 10 ideas/ unbreaking-lines
planning/ tpac-2020, virtual-summer-2020, virtual-spring-2020, cork-2020, print-workshop-2020, galicia-2020, status
spec/ css-fonts
(root) wiki
2019 6 planning/ tpac-2019, toronto-2019, tpac-2016, sf-2019
spec/ property-dependencies
(root) communications
2018 11 ideas/ hyphenation, image-replacement, at-text-transform
planning/ tpac-2018, sydney-2018, berlin-2018, tpac-2017, paris-2017
spec/ check, issue-tracking
tools/ doc
2017 9 ideas/ pseudo-elements
planning/ tokyo-2017, sydney-2016, san-francisco-2016, seattle-2017
spec/ widereview, rec-maintenance
tools/ git, hg
2016 5 ideas/ dollar-variables, round-display
planning/ sydney-2015
spec/ incubation, css-round-display
2015 28 planning/ tpac-2015, jp-css-indus-meetup, paris-2015, agenda, new-york-2015, tpac-2010, oslo-2010, cupertino-2010, tpac-2011, seattle-2011, mountain-view-2011, japan-2011, tokyo-workshop-2011, tpac-2012, sandiego-2012, hamburg-2012, paris-2012, tpac-2014
spec/ css-flexbox-2, vendor-prefixes, css-grid-2, css3-ui, css-backgrounds-4, css-ruby-2, css-multicol, css3-flexbox
test/ to-do, css-writing-modes-3
2014 3 planning/ sophia-2014, seoul-2014, seattle-2014

License

The wiki content is governed by the W3C Document License.

About

CSS Working Group Wiki – community-editable documentation

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Contributors 55