Cursor rule
.cursor/rules/breadcrumb-accessibility.mdcBreadcrumb component accessibility compliance pattern
Cursor rules
Quality
36/100
Scores the file, not the repository.Length
365 words
1 headings · 2 code blocksRepository
428
— · pushed 17 days agoLast changed
3 days ago
First indexed 3 days ago.123456# Breadcrumb Accessibility78Ensures breadcrumb components follow WCAG compliance and WAI-ARIA Breadcrumb Pattern specifications.910<rule>11name: breadcrumb_accessibility_standards12description: Enforce breadcrumb component accessibility standards and WAI-ARIA Breadcrumb Pattern compliance13filters:14 - type: file_extension15 pattern: "\\.(vue|jsx|tsx|html|liquid|php|js|ts)$"1617actions:18 - type: enforce19 conditions:20 # Navigation landmark requirement21 - pattern: "(?i)<nav[^>]*(?:breadcrumb|navigation)[^>]*>"22 pattern_negate: "(aria-label|aria-labelledby)=\"[^\"]+\""23 message: "Breadcrumb navigation must have aria-label or aria-labelledby attribute."2425 # Current page aria-current requirement26 - pattern: "(?i)<[^>]*(?:breadcrumb.*current|current.*breadcrumb)[^>]*>"27 pattern_negate: "aria-current=\"page\""28 message: "Current page in breadcrumb must have aria-current='page' attribute."2930 # List structure requirement31 - pattern: "(?i)<nav[^>]*(?:breadcrumb|navigation)[^>]*>"32 pattern_negate: "<ol[^>]*>"33 message: "Breadcrumb navigation should use ordered list (ol) for proper structure."3435 - type: suggest36 message: |37 **Breadcrumb Component Accessibility Best Practices:**3839 **Required ARIA Attributes:**40 - **aria-label/aria-labelledby:** On navigation element to describe the breadcrumb trail41 - **aria-current="page":** On the current page link or element42 - **role="navigation":** Implicit on nav element, but can be explicit if needed4344 **Structure Requirements:**45 - Use `<nav>` element as container46 - Use ordered list (`<ol>`) for breadcrumb items47 - Use list items (`<li>`) for each breadcrumb level48 - Current page should be the last item in the list49 - Use appropriate heading level for the breadcrumb container5051 **Implementation Patterns:**5253 **Basic Breadcrumb:**54```html55 <nav aria-label="Breadcrumb">56 <ol class="breadcrumb">57 <li class="breadcrumb-item">58 <a href="/">Home</a>59 </li>60 <li class="breadcrumb-item">61 <a href="/products">Products</a>62 </li>63 <li class="breadcrumb-item" aria-current="page">64 <a href="/products/electronics">Electronics</a>65 </li>66 </ol>67 </nav>68```6970 **With aria-labelledby:**71```html72 <nav aria-labelledby="breadcrumb-heading">73 <h2 id="breadcrumb-heading" class="visually-hidden">Breadcrumb Navigation</h2>74 <ol class="breadcrumb">75 <li class="breadcrumb-item">76 <a href="/">Home</a>77 </li>78 <li class="breadcrumb-item" aria-current="page">79 <span>Current Page</span>80 </li>81 </ol>82 </nav>83```8485 **Accessibility Notes:**86 - Navigation landmark helps screen readers identify the breadcrumb trail87 - Ordered list provides semantic structure for the navigation hierarchy88 - aria-current helps users identify their current location89 - Consider using visually-hidden text for better screen reader context90 - Ensure sufficient color contrast for all breadcrumb elements91 - Maintain clear visual separation between items92 - Use clear, descriptive labels for each level9394 **Testing Checklist:**95 - Verify navigation landmark is present and properly labeled96 - Confirm ordered list structure is used97 - Check aria-current is present on current page98 - Test with screen readers to ensure proper announcement99 - Verify visual hierarchy is clear and consistent100 - Ensure all links are keyboard accessible101 - Check color contrast meets WCAG requirements102103metadata:104 priority: high105 version: 1.0106</rule>107
Also in Shopify/horizon
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| Shopify/horizon.cursor/rules/accordion-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/animation-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/blocks.mdc · 428 | Cursor rules | stylearchtypesdatabase+2 | 62/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/carousel-accessibility.mdc · 428 | Cursor rules | ui | 32/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/cart-drawer-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/chat-window-accessibility.mdc · 428 | Cursor rules | styleui | 24/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/color-contrast-accessibility.mdc · 428 | Cursor rules | lint-formatui | 44/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/color-swatch-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/commit-messages.mdc · 428 | Cursor rules | setuplint-formattypesgit | 62/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/css-standards.mdc · 428 | Cursor rules | stylearchuiperformance+3 | 49/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/disclosure-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/dropdown-navigation-accessibility.mdc · 428 | Cursor rules | styleui | 36/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/flip-card-accessibility.mdc · 428 | Cursor rules | styleui | 36/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/form-accessibility.mdc · 428 | Cursor rules | ui | 32/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/javascript-standards.mdc · 428 | Cursor rules | stylearchtypesui+2 | 54/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/landmark-accessibility.mdc · 428 | Cursor rules | ui | 40/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/liquid.mdc · 428 | Cursor rules | buildstyletypesdatabase+2 | 77/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/locales.mdc · 428 | Cursor rules | arch | 49/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/localization.mdc · 428 | Cursor rules | style | 54/100 | 3 days ago | |
| Shopify/horizon.cursor/rules/mobile-accessibility-standards.mdc · 428 | Cursor rules | styleui | 36/100 | 3 days ago |
Diff against .cursor/rules/accordion-accessibility.mdc Diff against .cursor/rules/animation-accessibility.mdc Diff against .cursor/rules/blocks.mdc Diff against .cursor/rules/carousel-accessibility.mdc Diff against .cursor/rules/cart-drawer-accessibility.mdc Diff against .cursor/rules/chat-window-accessibility.mdc Diff against .cursor/rules/color-contrast-accessibility.mdc Diff against .cursor/rules/color-swatch-accessibility.mdc Diff against .cursor/rules/commit-messages.mdc Diff against .cursor/rules/css-standards.mdc Diff against .cursor/rules/disclosure-accessibility.mdc Diff against .cursor/rules/dropdown-navigation-accessibility.mdc Diff against .cursor/rules/flip-card-accessibility.mdc Diff against .cursor/rules/form-accessibility.mdc Diff against .cursor/rules/javascript-standards.mdc Diff against .cursor/rules/landmark-accessibility.mdc Diff against .cursor/rules/liquid.mdc Diff against .cursor/rules/locales.mdc Diff against .cursor/rules/localization.mdc Diff against .cursor/rules/mobile-accessibility-standards.mdc
