P11 UI Library
The first fully accessible component library for Blazor applications
Built with Perfect A11y (Accessibility) in mind, using native HTML elements wherever possible and enhanced with Bootstrap 5 for maximum compatibility.
100% Accessibility Compliance
Built for A11y
Every component meets WCAG 2.1 AA standards, using semantic HTML as foundation.
Enhanced Functionality
Components like P11Label include practical extras (onClick support) without compromising accessibility.
HTML First
Native HTML elements where possible, Bootstrap-enhanced when needed - the perfect balance.
Featured Components
Building accessible applications has never been easier
Accordion
P11Accordion
Fully keyboard navigable with proper ARIA attributes. Native and styled versions available.
View DemoDate Picker
Label
Get Started with P11
1. Install via NuGet
Install-Package P11.UI2. Add to your Blazor app
// Program.cs builder.Services.AddP11Components();
Start building accessible apps today
WCAG 2.1 AA Compliant
Our Accessibility Promise
P11 was created because existing Blazor component libraries failed to fully implement accessibility standards.
- Semantic HTML as foundation
- Complete keyboard navigation
- Proper ARIA attributes
- Screen reader tested
- Contrast ratios that meet AA standards
AOT/Trimming Safe
AOT/Trimming Compatible
P11 UI components work flawlessly with AOT compilation and trimming enabled. Your project will compile and run without issues.
- Reflection Operations: Generally compatible, with development-time warnings for patterns that may require explicit preservation (e.g., `Convert.ChangeType` on unreferenced types).
- Regular Expressions: Optimized for AOT compilation with source generators
- Dynamic Types: No runtime compatibility issues
- Generic Classes and Methods: Work seamlessly with AOT compilation
- JSON Serialization: Compatible with trimming optimizations
- String Formatting and Parsing: Safe for trimmed deployments
- Culture-Specific Operations: Properly handled in AOT scenarios
- Linq Expressions: Fully AOT/trimming compatible
- JavaScript Interop: Magic strings in JS method calls
- Trimmer Instructions: Correctly implemented where necessary