Collaboration
1 Designer & Developer | 2 Mentors | Engagement Team
Tools
Figma, TailwindCSS, Accessibility Tooling
Timeline
6 months
Google Summer of Code
GNOME CSS Component Library
GNOME Foundation
1. Overview
Key Contributions:
Designed & coded 9 core components
Applied GNOME HIG & accessibility best practices
Built reusable, scalable components
Impact:
Standardized 12+ public-facing websites
Enhanced usability for websites reaching ~1.6 M+ monthly users
Accelerated developer implementation
Why this was needed:
Fragmented onboarding slowed contributor adoption
Inconsistencies hurt usability & brand identity
Key Takeaways:
Thrill and challenge of bringing structure to chaos
Design systems enable trust, not just visuals
The challenge was to balance brand identity and inclusive design principles
2. Problem & Context
Visitors faced inconsistent, inaccessible experiences
GNOME has 12+ independently maintained websites with a lack of shared visual language or inclusive design standards. This lack of consistency created usability gaps for visitors, users and made it harder to engage new contributors.
Developers struggled to scale and maintain sites
Without a unified design system, developers spent more time recreating components and struggled to evolve sites with frequent updates.
Users
Get consistent, accessible experiences
Contributors
Save time with reusable components
Community
Stronger engagement & scalable presence
3. How?
1. Research
Evaluation and analysis of existing elements and components
2. Design
High-fidelity mockups, feedback and iteration
3. Implementation
Coding the mockups using TailwindCSS and JavaScript
4. Testing
Visual, unit and cross-platform testing
4. Who are we designing for?
Mei (Potential User)
Age 22 · University Student
Curious · Tech-Savvy · Exploring Options
Key Needs: beginner-friendly guides, clear installation steps
Ahmed (Contributor)
Age 29 · Software Developer Collaborative · Detail-Oriented · Problem Solver
Key Needs: consistent, easy-to-navigate resources
Sophie (Event Participant)
Age 34 · Community Enthusiast Social · Engaged · Passionate
Key Needs: seamless event experience, reliable
schedules
4. Existing Components Evaluation
Step 1. Finding components
Audited 12+ websites to locate UI components and patterns
Step 2. Capturing variations & states
Captured screenshots in different styles and interaction states to compare usage and behaviour
Normal
Hover
Example - Link element
Normal
Inconsistent with other link styles
Hover
Dotted underline on hover appears outdated
Normal
Poor contrast and reliance on colour alone makes the link hard to distinguish from the surrounding text
Hover
No visible state change on hover
Normal
Relies solely on colour, reducing link discoverability and accessibility
Hover
Hover state only changes colour, offering a weak affordance to users
Normal
Both states have underline, inconsistent with other link styles
Normal
Hover state adds an underline, inconsistent with other link styles
Hover
Hover state only changes colour, offering a weak affordance to users
Hover
Hover state only changes colour, offering a weak affordance to users
Step 3. Consistency Evaluation
Inspected attributes (e.g., font-size, text-colour, hover states) to document and analyze UI inconsistencies
4. Design & Iterations
Established the baseline of accessibility compliance and implementation-ready consistency
Normal
Normal
Hover
Hover
Visited
Visited
Focus
Focus
Colour Contrast:
WCAG AA
4.5:1> for small text
3:1> for large text
Defined the colours on light and dark mode
Focus state for keyboard users
Contextual Variants
Problem
The GNOME brand leaned toward clean, minimal links (no underlines). Accessibility required stronger affordances.
Solution
Strong colour contrast
Underlines for body text
Flexible states for brand-specific contexts
Default Link (Inline and Body Text)
Always underlined for discoverability
Inverse Link Footer (Navigation on dark background)
Underline on dark backgrounds for accessibility
Contextual - other cases
External links
Opens in a new tab with visual cue icon for clarity
Subtle Links
Underline on dark backgrounds for accessibility
Descriptive Text
Ensures clarity and accessibility for screen readers & all users





































