Accessibility Commitments
Relevant source files
The following files were used as context for generating this wiki page:
KernelForge establishes accessibility commitments to ensure that Android custom kernel development tools are usable by all contributors, including those with disabilities. The project follows inclusive design principles by avoiding assumptions about a user's gender, ability level, or technical background.
Sources: ACCESSIBILITY.md, CONTRIBUTING.md:57-61
Project Priorities and Standards
The project prioritizes clarity, simplicity, and inclusive language across all documentation and user interfaces. Contributors must follow specific writing style guidelines to maintain these standards.
- Inclusive Language: You must not assume gender or ability level. Avoid slang and idioms that may exclude users.
- Active Voice: Use dynamic verbs to describe actions (e.g., "tap a key" instead of "press a key").
- Clear Terminology: Avoid technical abbreviations like "repo" or "PR" and Latin abbreviations like "i.e." or "e.g." to serve readers who use English as a second language.
- Harassment-Free Experience: The project pledges to provide an experience free from harassment regardless of visible or invisible disability.
Sources: CONTRIBUTING.md:52-64, CODE_OF_CONDUCT.md:5-10
Technical Implementation of Accessibility
The application utilizes semantic HTML and ARIA attributes within its component library to support assistive technologies.
UI Component Accessibility
Key components such as Sheet and Sidebar include specific accessibility features:
- Screen Reader Support: Components use
sr-onlyclasses to provide descriptions that are only visible to screen readers, such as for the "Close" button in sheets. - ARIA Attributes: The
FormControlcomponent dynamically managesaria-describedbyandaria-invalidbased on the validation state of the form. - Keyboard Navigation: The
SidebarProviderimplements a keyboard shortcut (Cmd/Ctrl + B) to toggle the sidebar state.
Sources: src/components/ui/sheet.tsx:69-70, src/components/ui/form.tsx:114-123, src/components/ui/sidebar.tsx:94-106
Viewport and Metadata Configuration
The application configures the viewport to ensure consistent scaling and readability across mobile devices.
export const viewport: Viewport = {
themeColor: '#00ff55',
width: 'device-width',
initialScale: 1,
maximumScale: 1,
userScalable: false,
};
Sources: src/app/layout.tsx:19-25
Reporting and Support
The project provides a structured process for reporting accessibility barriers. When reporting an issue, you should provide context including the affected task, URL, observed behavior, browser, operating system, and assistive technology used.
Accessibility Reporting Flow
The following diagram illustrates how accessibility issues are triaged based on their impact on the user's ability to complete tasks.
The diagram shows the lifecycle of an accessibility report from initial encounter to verification of the fix.
Sources: ACCESSIBILITY.md:32-45, CODE_OF_CONDUCT.md:58-95
Component Accessibility Summary
| Component | Accessibility Features | Source |
|---|---|---|
SheetContent | Includes hidden "Close" label for screen readers (sr-only). | src/components/ui/sheet.tsx:70 |
SidebarTrigger | Uses sr-only for the "Toggle Sidebar" button label. | src/components/ui/sidebar.tsx:288 |
FormControl | Dynamically updates ARIA labels based on error state. | src/components/ui/form.tsx:116-121 |
SidebarGroupLabel | Manages opacity and margins during state transitions. | src/components/ui/sidebar.tsx:406-407 |
SidebarRail | Provides aria-label and tabIndex for keyboard accessibility. | src/components/ui/sidebar.tsx:304-306 |
Conclusion
KernelForge maintains its accessibility commitments through a combination of strict contributor expectations, inclusive writing styles, and technical implementation within the UI component library. These efforts ensure the kernel development dashboard remains accessible to a diverse range of developers and modders.
Sources: ACCESSIBILITY.md, CONTRIBUTING.md:52-64