Vocabulary

A cohesive system of design for Creative Commons.

note: At present Vocabulary is still hyper localized to the Index Project (CreativeCommons.org). This means that apart from the global Header and Footer areas; components, elements, pieces, tokens, etc. are not adequately generalized enough to be as composable within other site/project contexts. Caution should be exercised in the meantime.

Introduction

Vocabulary builds from a refactor and reimplementation of the original, now archived, Vocabulary Legacy project.

Both projects were informed by the CC Style Guide (2019), and incorporate or adapt its guidance into a digital context.

As of 2026, Vocabulary was refactored to include the newly selected Brand Guidelines, which overrides much of the 2019 Style Guide, the new Style Guide is not currently publicly available.

Structure & Behavior

Vocabulary is raw material design system with inherent rules and generalized implementable documentation.

Vocabulary is then implemented within a project via an upstream/downstream relationship as follow:

    Design System → Static Implementation → Dynamic Implementation
    vocabulary → prototype → final
    vocabulary → [project]-prototype → [project]-[implementation(s)] (*-dev-env *-theme, etc.)

In the case of the Index Project (CreativeCommons.org) it looks like this:

    vocabularyindex-prototypevocabulary-theme

A prototype contains:

We need to maintain a way to test F/E UX absent a CMS layer. That way the static layer prototype describes the intended output the CMS would create. It becomes a form of documentation and testing. It's an expectation spec.

It's one additional layer of downstream changes, but it provides a clear and distinct documentation for how and where things are localized when vocabulary is implemented, and can offer good examples for where we can pull varied localized implementations upstream into vocabulary generally, so the localizations can then be removed.

Upstream/Downstream Change Flow

This enables two modes of build work.

A: upstream → downstream

  1. new functionality introduced into Vocabulary
  2. documented and generalized
  3. available to prototypes and implementations

B: downstream → upstream → downstream

  1. new functionality introduced local to project prototype
  2. documented and implemented here locally
  3. migrated to vocabulary
  4. documented and generalized
  5. removed in downstream project's prototype localization
  6. available to prototypes and implementations

Either route is valid, and has its reasons for being the more viable route. But it is generally preferred that route A be the default consideration wherever possible.

Installation

01. Get the Vocabulary Files

Download the creativecommons/vocabulary repository, rename the /src directory to /vocabulary, and move it into desired location.

Vocabulary needs to be included via CSS and JavaScript routes. Both are generally required, and recommended.

02. CSS Installation

Your project should include a “main/root” css styles file, which is included within the head element of your HTML.






Include vocabulary.css from within style.css via a CSS @layer import at the top of the file.



@import 'PATH/TO/vocabulary/css/vocabulary.css' layer(vocabulary);


Note: (for in-dev implementations) You can also include the vocabulary-tests.css file to perform basic tests against recommended and required approaches within the HTML markup.



@import 'PATH/TO/vocabulary/css/vocabulary.css' layer(vocabulary);
@import 'PATH/TO/vocabulary/css/vocabulary-tests.css' layer(vocabulary-tests);



Production use of the vocabulary-tests.css file is not recommended generally.

03. JS Installation

Vocabulary has a minimal JavaScript footprint, but does have some required behaviors that rely on JS.

Include the vocabulary.js file at the bottom of your HTML markup, prior to the closing body tag.







Components

Components are discrete collected elements in a semantic order that provide a coherent meaning, and can be placed in various contexts which expect them. Various presentations and/or behaviors can then be applied to them depending on the needs, rules, and use cases of various contexts.

Note: the code in this component section are meant to be examples, and not necessarily 1:1 reference to be used exactly.

Each CC site utilizing Vocabulary should include the global Header & Footer areas at the top and bottom of the site respectively.

The Global Header component contains several sub-elements.

Expected Contexts



Skip to content

Each CC site utilizing Vocabulary should include the global Header & Footer areas at the top and bottom of the site respectively.

The Global Footer component contains several sub-elements.

These sub-elements are not independent and are not meant to be used outside of the Global Footer component.

Expected Contexts







Attribution List - Block

Expected Contexts



  
Attribution

Attention - Block

Expected Contexts



  
content here

Person Snippet - Singular - Block

Expected Contexts



  

Name Here

Position/Title here

Truncated bio here…

Persons Snippets - Plural - Block

Expected Contexts



  

Persons

  • Name Here

    Position/Title here

    Truncated bio here…

  • ...

Post - Singular - Block

Post components nested within a Posts component can be direct children or nested within an html list element (ol/ul)

Expected Contexts



  



Posts - Plural - Block

Posts components support a pseudo-semantic variant class of featured or related. This helps further describe what they are more specifically, but allows a semantic-ish target for their change in behavior or provided sub-elements.

Expected Contexts



  



Event - Singular - Block

Expected Contexts



  

Legal Office Hours | September 2026

September 1, 2026

2:00 pm - 3:00 pm EDT Zoom

See Event Details

attribution here

Events - Plural - Block

Expected Contexts



  
  • content here
  • content here
  • content here

Speaker - Singular - Block

Expected Contexts



  



Speakers - Plural - Block

Expected Contexts



  
  • content here
  • content here
  • content here

Case Study - Singular - Block

Expected Contexts



  



Case Studies - Plural - Block

Expected Contexts



  
  • content here
  • content here
  • content here

Licese - Singular - Block

Expected Contexts



  

CC BY

This license enables reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. CC BY includes the following elements:

BY
Credit must be given to you, the creator.

Licenses - Plural - Block

Expected Contexts



  
  • content here
  • content here
  • content here

Topic Dive - Block

Expected Contexts



  
content here

Payment Methods - Block

Expected Contexts



  
  • content here
  • >

Event Meta - Block

Expected Contexts



  

Date & Time

September 1, 2026

2:00 pm - 3:00 pm EDT

Location

Zoom

Register

Training - Singular - Block

Expected Contexts



  
content here

Trainings - Plural - Block

Expected Contexts



  
  • content here
  • content here
  • content here

Highlight Box - Block

Expected Contexts



  
content here

Pagination - Nav

Expected Contexts

Note: WordPress forces the list to be ul instead of ol.



  



Opening Summary - Block

Expected Contexts



  


Closing Summary - Block

Expected Contexts



  


Tags listing - Block

Expected Contexts



  


Expected Contexts



  


Filter Menu - Nav

Expected Contexts



  



General Menu - Nav

Expected Contexts



  



Data Points - Singular - Block

Expected Contexts




  

Title

55+ million articles

Descriptive text here

Data Points - Plural - Supporting Block

Expected Contexts




  
  • Title

    55+ million articles

    Descriptive text here

  • ...

Search Form - Block

Expected Contexts



  

Topic Summary - Block

Expected Contexts

note: The .topic-summary block also has several pseudo-semantic addon classes that can be added for various treatments which includes:

These addon classes are meant to subtly describe a more specific intent for for the block, and can also be used to provide alternative visual treatments to match that altered meaning through expressed visual design.



  

Title

Descriptive text here

Learn more
iframe or img here
attribution here.

Additionally, the .topic-summary block also supports a footer.supporting when relevant.



  

Title

Descriptive text here

Learn more
iframe or img here
attribution here.

Page Header - Region

Expected Contexts



  

Title

Category Name

attribution details here

Person Header - Region

Expected Contexts



  

Name

position/title here pronouns optionally here
attribution here

Bio here

Specimen Index