Skip to content

How to Contribute

Human Standards is an open-source project that welcomes contributions from designers, developers, researchers, and anyone passionate about human-centered design. This guide explains how to contribute effectively.


Contribution TypeEffortImpact
Fix typos/errorsLowHigh (accuracy matters)
Add citationsLowMedium (strengthens evidence)
Improve examplesMediumHigh (practical value)
Expand existing pagesMediumHigh (depth)
Write new pagesHighHigh (coverage)
Add research findingsMediumHigh (currency)
Contribution TypeSkills Needed
Fix broken linksBasic Git
Improve site navigationAstro/Starlight
Add search functionalityJavaScript
Create interactive examplesMDX, JavaScript
Build validation toolsTypeScript
Develop MCP serverNode.js, TypeScript
ActivityHow
Report issuesOpen GitHub issue
Suggest topicsDiscussion or issue
Review PRsComment on pull requests
Answer questionsGitHub discussions
Spread awarenessShare and cite

  1. Edit directly on GitHub

    • Navigate to the file
    • Click the pencil icon (Edit this file)
    • Make your change
    • Submit a pull request
  2. No issue required for obvious fixes

1. Open Issue → 2. Discussion → 3. Fork → 4. Branch → 5. PR → 6. Review → 7. Merge

Step-by-step:

  1. Open an issue

    • Describe the proposed change
    • Explain the rationale
    • Link to supporting evidence
  2. Wait for discussion

    • Maintainers may have questions
    • Others may offer suggestions
    • Scope may be refined
  3. Fork the repository

    Terminal window
    git clone https://github.com/YOUR-USERNAME/humanstandards
    cd humanstandards
  4. Create a branch

    Terminal window
    git checkout -b feature/your-feature-name
    # or
    git checkout -b fix/your-fix-description
  5. Make your changes

    • Follow the style guide (below)
    • Test locally with npm run dev
    • Ensure links work
  6. Submit a pull request

    • Reference the issue number
    • Describe what changed and why
    • List any new dependencies
  7. Address review feedback

    • Maintainers may request changes
    • Respond to comments
    • Push updates to your branch

PrincipleDoDon’t
Direct”Use 44px minimum touch targets""It’s generally recommended that…”
Evidence-based”Research shows…” with citation”Best practice suggests…”
Inclusive”People who are blind""The blind”
Precise”4.5:1 contrast ratio""High contrast”
Actionable”Check contrast with WebAIM tool""Ensure adequate contrast”
  1. Lead with the important information

    • Put key numbers and requirements first
    • Explanations come after
  2. Use active voice

    • ✅ “Users scan pages in an F-pattern”
    • ❌ “Pages are scanned by users in an F-pattern”
  3. Be concise

    • Remove unnecessary words
    • One idea per sentence
    • Short paragraphs (3-4 sentences max)
  4. Avoid jargon without definition

    • Define terms on first use
    • Link to glossary when appropriate

Headings:

  • Use sentence case (“Touch target sizing” not “Touch Target Sizing”)
  • Don’t skip heading levels (h2 → h4)
  • Keep headings short and descriptive

Lists:

  • Use bullets for unordered items
  • Use numbers for sequential steps
  • Keep list items parallel in structure

Tables:

  • Use tables for structured comparisons
  • Include header row
  • Keep cells concise

Code blocks:

  • Specify language for syntax highlighting
  • Include comments for complex code
  • Show complete, working examples
MeasurementStandardExample
Pixelspx (lowercase)16px, 44px
Pointspt (iOS)44pt
Density-independentdp (Android)48dp
Relativerem, em1rem, 0.875em
Timems, s200ms, 2s
Anglesdeg45deg
Percentages%100%, 4.5:1

Number formatting:

  • Use comma for thousands: 1,000
  • Use period for decimals: 4.5
  • Spell out one through nine; use numerals for 10+
  • Exception: always use numerals in specifications

TierSource TypeWhen to Use
1 (Highest)Official standards (WCAG, ISO)Requirements and specifications
2Peer-reviewed researchScientific claims
3Industry research (NNg, Baymard)Design recommendations
4Platform guidelines (Apple, Google)Platform-specific advice
5Expert practitionersPractical insights
6 (Lowest)Personal experienceExamples only, flagged as such

In-text reference:

Touch targets should be at least 44×44pt (Apple HIG) or 48×48dp (Material Design).

Reference section:

## References
**Official Standards:**
- [WCAG 2.2 — Touch Target Size](https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum)
**Platform Guidelines:**
- [Apple HIG — Buttons](https://developer.apple.com/design/human-interface-guidelines/buttons)
- [Material Design — Touch Targets](https://m3.material.io/foundations/interaction/touch-targets)
**Research:**
- [Parhi, P. et al. (2006) — Target Size Study](https://doi.org/10.1145/1125451.1125587)
ContentCitation Required
Specific numbers/thresholds✅ Yes
Research findings✅ Yes
Platform requirements✅ Yes
General design principlesRecommended
Code examplesNo (unless adapted)
Personal explanationsNo
Don’t WriteWrite Instead
”Users prefer…""Nielsen research found users prefer…"
"Studies show…""[Specific study] found…"
"Best practice is…""[Source] recommends…"
"Always/never…""In most cases…” or cite the rule

Every content page should follow this structure:

---
title: Page Title
description: One-sentence description for search and previews.
---
Brief introduction explaining why this topic matters (2-3 sentences).
---
## Core Concepts
Fundamental knowledge for this topic.
### Subsection
Details with tables, examples, and explanations.
---
## Specifications
| Specification | Value | Source |
|---------------|-------|--------|
| **Key metric** | Value | Citation |
---
## Design Implications
How to apply these concepts in practice.
### Common Patterns
Examples of good implementation.
### Common Mistakes
What to avoid and why.
---
## Validation Rules
```yaml
rule_name:
check: "What to verify"
severity: error | warning
wcag: "X.X.X Level"

FUNCTION evaluateSomething(input):
IF condition:
RETURN result
RETURN alternative

Description of recent research with link.


Foundational Work:

  • [Classic sources]

Official Standards:

  • [WCAG, ISO, platform guidelines]

Recent Research:

  • [2024-2025 papers and studies]

Practical Resources:

  • [Tools, articles, guides]

---
## Machine-Readable Content
### Why It Matters
Human Standards is designed for both human readers and AI agents. Machine-readable content enables:
- Automated design validation
- AI-assisted development
- MCP server integration
- Programmatic lookup
### Formats to Include
**Specification tables:**
```markdown
| Property | Value | Unit | WCAG |
|----------|-------|------|------|
| **Minimum** | 44 | px | 2.5.8 AA |

YAML validation rules:

rules:
- id: rule-identifier
check: "Human-readable description"
severity: error
wcag: "X.X.X Level"
implementation: "How to verify"

Pseudo-code decision logic:

FUNCTION checkRequirement(element):
value = element.property
IF value < threshold:
RETURN error("Specific message")
RETURN pass

JSON tokens:

{
"touch-target": {
"min": { "value": 44, "unit": "px" },
"comfortable": { "value": 48, "unit": "px" }
}
}

Terminal window
# Clone your fork
git clone https://github.com/YOUR-USERNAME/humanstandards
cd humanstandards
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
humanstandards/
├── src/
│ ├── content/
│ │ └── docs/ # All documentation pages
│ │ ├── home/ # Home and meta pages
│ │ ├── perception/ # Perception topics
│ │ ├── cognition/ # Cognition topics
│ │ └── ...
│ └── styles/ # Custom CSS
├── public/ # Static assets
└── astro.config.mjs # Site configuration
  1. Create a new .md or .mdx file in the appropriate directory
  2. Add frontmatter with title and description
  3. Follow the page structure template
  4. Add to navigation if needed (in astro.config.mjs)
CheckCommand/Method
Local previewnpm run dev
Build succeedsnpm run build
Links workManual check or link checker
Markdown validLinting in editor
Content accurateVerify against sources

A contribution is ready for merge when:

  • Information is accurate and verifiable
  • Sources are cited appropriately
  • Language follows style guide
  • Examples are clear and helpful
  • Build passes (npm run build)
  • All links work (internal and external)
  • Images have alt text
  • Code examples are syntactically correct
  • Headings are properly nested
  • Tables have header rows
  • Color is not sole information carrier
  • Content is screen reader friendly
  • Specification tables are present where applicable
  • YAML validation rules included for measurable criteria
  • Decision logic provided for complex evaluations

AspectCriteria
AccuracyClaims supported by citations
CompletenessCovers topic adequately
ClarityEasy to understand
ConsistencyMatches existing style
UsefulnessProvides practical value
PR TypeExpected Response
Typo/minor fix1-3 days
Content addition3-7 days
New page1-2 weeks
Major restructuring2-4 weeks
  • Be patient — Reviewers are volunteers
  • Be responsive — Address comments promptly
  • Be open — Feedback improves quality
  • Ask questions — Clarify if feedback is unclear

  • Be respectful and inclusive
  • Assume good intentions
  • Focus on the content, not the person
  • Welcome newcomers
  • Accept constructive criticism gracefully
  • Personal attacks
  • Discriminatory language
  • Harassment of any kind
  • Spam or self-promotion

Contact maintainers via GitHub issues or email if you experience or witness unacceptable behavior.


Contributors are recognized in:

  • Git history (commits attributed)
  • Pull request acknowledgment
  • README contributors section (for significant contributions)

NeedWhere
General questionsGitHub Discussions
Bug reportsGitHub Issues
Contribution guidanceThis page or Discussions
Quick questionsIssue comments

Writing Style:

Open Source Best Practices:

Accessibility Writing:


Last updated: