@gunkin/uiify 0.0.16-alpha → 0.0.17-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +34 -9
  2. package/package.json +1 -1
  3. package/skills/uiify/SKILL.md +78 -100
  4. package/skills/uiify/references/compositions/card-rhythm.md +16 -0
  5. package/skills/uiify/references/compositions/destructive-confirmation.md +17 -0
  6. package/skills/uiify/references/compositions/form-grouping.md +16 -0
  7. package/skills/uiify/references/compositions/hero-actions.md +16 -0
  8. package/skills/uiify/references/compositions/page-frame.md +16 -0
  9. package/skills/uiify/references/compositions/pricing-actions.md +15 -0
  10. package/skills/uiify/references/compositions/save-feedback.md +15 -0
  11. package/skills/uiify/references/compositions/table-controls.md +16 -0
  12. package/skills/uiify/references/elements/alert-modal.md +15 -0
  13. package/skills/uiify/references/elements/avatar.md +18 -0
  14. package/skills/uiify/references/elements/badge.md +18 -0
  15. package/skills/uiify/references/elements/bar-chart.md +29 -0
  16. package/skills/uiify/references/elements/button.md +14 -0
  17. package/skills/uiify/references/elements/card.md +14 -0
  18. package/skills/uiify/references/elements/code-block.md +21 -0
  19. package/skills/uiify/references/elements/command-palette.md +22 -0
  20. package/skills/uiify/references/elements/cookie-banner.md +23 -0
  21. package/skills/uiify/references/elements/date-picker.md +19 -0
  22. package/skills/uiify/references/elements/divider.md +18 -0
  23. package/skills/uiify/references/elements/empty-state.md +22 -0
  24. package/skills/uiify/references/elements/feature-grid.md +14 -0
  25. package/skills/uiify/references/elements/field.md +14 -0
  26. package/skills/uiify/references/elements/footer.md +14 -0
  27. package/skills/uiify/references/elements/form.md +14 -0
  28. package/skills/uiify/references/elements/header.md +14 -0
  29. package/skills/uiify/references/elements/hero.md +14 -0
  30. package/skills/uiify/references/elements/image-gallery.md +20 -0
  31. package/skills/uiify/references/elements/inline-alert.md +18 -0
  32. package/skills/uiify/references/elements/input.md +14 -0
  33. package/skills/uiify/references/elements/logo-wall.md +20 -0
  34. package/skills/uiify/references/elements/pagination.md +14 -0
  35. package/skills/uiify/references/elements/password-input.md +19 -0
  36. package/skills/uiify/references/elements/pricing-table.md +13 -0
  37. package/skills/uiify/references/elements/progress-bar.md +19 -0
  38. package/skills/uiify/references/elements/search-input.md +14 -0
  39. package/skills/uiify/references/elements/select.md +14 -0
  40. package/skills/uiify/references/elements/sidebar.md +20 -0
  41. package/skills/uiify/references/elements/stats-bar.md +21 -0
  42. package/skills/uiify/references/elements/stepper.md +20 -0
  43. package/skills/uiify/references/elements/switch.md +14 -0
  44. package/skills/uiify/references/elements/table.md +14 -0
  45. package/skills/uiify/references/elements/testimonial.md +21 -0
  46. package/skills/uiify/references/elements/textarea.md +14 -0
  47. package/skills/uiify/references/elements/timeline.md +20 -0
  48. package/skills/uiify/references/elements/toast.md +13 -0
  49. package/skills/uiify/references/laws/accessibility.md +11 -0
  50. package/skills/uiify/references/laws/error-prevention.md +12 -0
  51. package/skills/uiify/references/laws/feedback.md +9 -0
  52. package/skills/uiify/references/laws/proximity.md +10 -0
  53. package/skills/uiify/references/laws/readability.md +9 -0
  54. package/skills/uiify/references/laws/von-restorff.md +9 -0
@@ -0,0 +1,22 @@
1
+ # command-palette
2
+
3
+ Binding: gap
4
+
5
+ Let users find and invoke a small set of named commands.
6
+
7
+ For a non-interactive command list, use a labeled search form and links or buttons with clear names. A searchable list is not a command palette until keyboard navigation, selection, and dismissal behavior are implemented.
8
+
9
+ ```html
10
+ <form role="search">
11
+ <label for="commands">Search commands</label>
12
+ <input id="commands" type="search" />
13
+ <ul><li><a href="/settings">Open settings</a></li></ul>
14
+ </form>
15
+ ```
16
+
17
+ This is an app-level composition recipe; it does not add a component to UIify.
18
+
19
+ ## Sources
20
+
21
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/search) (verified 2026-10-16)
22
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,23 @@
1
+ # cookie-banner
2
+
3
+ Binding: gap
4
+
5
+ Explain cookie choices and provide consent actions.
6
+
7
+ State which optional storage choices are available and link to the detailed policy. Offer distinct actions for consent choices without making one choice the only visible path.
8
+
9
+ ```html
10
+ <aside aria-labelledby="cookie-title">
11
+ <h2 id="cookie-title">Cookie choices</h2>
12
+ <p>Choose whether to allow optional cookies.</p>
13
+ <button type="button">Allow optional cookies</button>
14
+ <button type="button">Reject optional cookies</button>
15
+ </aside>
16
+ ```
17
+
18
+ This is an app-level composition recipe; it does not add a component to UIify.
19
+
20
+ ## Sources
21
+
22
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context.html) (verified 2026-10-16)
23
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,19 @@
1
+ # date-picker
2
+
3
+ Binding: gap
4
+
5
+ Collect one calendar date using the native date control.
6
+
7
+ Prefer the native date input for one date. Show date constraints in text and connect invalid-value feedback to the input.
8
+
9
+ ```html
10
+ <label for="start-date">Start date</label>
11
+ <input id="start-date" name="start-date" type="date" />
12
+ ```
13
+
14
+ This is an app-level composition recipe; it does not add a component to UIify.
15
+
16
+ ## Sources
17
+
18
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date) (verified 2026-10-16)
19
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,18 @@
1
+ # divider
2
+
3
+ Binding: gap
4
+
5
+ Separate adjacent thematic sections when a heading is not appropriate.
6
+
7
+ Use a thematic separator only when it marks a real change of topic; leave purely decorative separators out of the accessibility tree.
8
+
9
+ ```html
10
+ <hr />
11
+ ```
12
+
13
+ This is an app-level composition recipe; it does not add a component to UIify.
14
+
15
+ ## Sources
16
+
17
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr) (verified 2026-10-16)
18
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,22 @@
1
+ # empty-state
2
+
3
+ Binding: gap
4
+
5
+ Explain why a collection has no items and offer a relevant next step.
6
+
7
+ Explain what is empty and why it matters, then offer one next action that addresses the empty state.
8
+
9
+ ```html
10
+ <section aria-labelledby="empty-title">
11
+ <h2 id="empty-title">No invoices yet</h2>
12
+ <p>Create an invoice to see it listed here.</p>
13
+ <a href="/invoices/new">Create invoice</a>
14
+ </section>
15
+ ```
16
+
17
+ This is an app-level composition recipe; it does not add a component to UIify.
18
+
19
+ ## Sources
20
+
21
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/headings-and-labels.html) (verified 2026-10-16)
22
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # feature-grid
2
+
3
+ Binding: gap
4
+
5
+ Present related product capabilities as a coherent set.
6
+
7
+ Use a repeated grid when the features share the same level and structure. Keep each feature’s heading and explanation in reading order at narrow widths.
8
+
9
+ Related laws: references/laws/proximity.md, references/laws/readability.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/visual-presentation.html) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # field
2
+
3
+ Binding: field
4
+
5
+ Keep a label and its form control together.
6
+
7
+ Keep each label next to its control. Put a group label on related controls and show validation beside the field it describes.
8
+
9
+ Related laws: references/laws/proximity.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/grouping/) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/labels/) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # footer
2
+
3
+ Binding: gap
4
+
5
+ Offer secondary navigation at the end of a page.
6
+
7
+ Use a named footer landmark for site-wide information and group its links by destination. Preserve the site’s repeated navigation order.
8
+
9
+ Related laws: references/laws/readability.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/consistent-navigation.html) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # form
2
+
3
+ Binding: form
4
+
5
+ Collect related workspace preferences.
6
+
7
+ Group related controls and explain the form’s purpose before its fields. Keep submit, validation, and success feedback connected to the form.
8
+
9
+ Related laws: references/laws/proximity.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/grouping/) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/labels/) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # header
2
+
3
+ Binding: header
4
+
5
+ Orient visitors with stable top-level navigation.
6
+
7
+ Use the header for the site identity and primary navigation. Keep repeated navigation in a consistent order and give each navigation landmark a distinct name when there are several.
8
+
9
+ Related laws: references/laws/readability.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/consistent-navigation.html) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # hero
2
+
3
+ Binding: gap
4
+
5
+ Introduce the product and its next action.
6
+
7
+ Lead with the page’s primary purpose, a specific heading, and its main action. Add a secondary action only when it serves a different useful path.
8
+
9
+ Related laws: references/laws/von-restorff.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/use-of-color.html) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,20 @@
1
+ # image-gallery
2
+
3
+ Binding: gap
4
+
5
+ Show related images with useful captions or alternatives.
6
+
7
+ Represent a gallery as a list of figures. Give each image an alternative that conveys its content and use a caption when the surrounding text needs context.
8
+
9
+ ```html
10
+ <ul>
11
+ <li><figure><img src="/place.webp" width="640" height="400" alt="Stone bridge over a river" /><figcaption>Old town bridge</figcaption></figure></li>
12
+ </ul>
13
+ ```
14
+
15
+ This is an app-level composition recipe; it does not add a component to UIify.
16
+
17
+ ## Sources
18
+
19
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure) (verified 2026-10-16)
20
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,18 @@
1
+ # inline-alert
2
+
3
+ Binding: gap
4
+
5
+ Give a short message context beside the content it affects.
6
+
7
+ Use a status announcement for non-urgent updates and an alert only for information requiring immediate attention. Keep the message visible in context.
8
+
9
+ ```html
10
+ <p role="status">Changes saved.</p>
11
+ ```
12
+
13
+ This is an app-level composition recipe; it does not add a component to UIify.
14
+
15
+ ## Sources
16
+
17
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/status-messages.html) (verified 2026-10-16)
18
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # input
2
+
3
+ Binding: input
4
+
5
+ Accept a short text value.
6
+
7
+ Give each text input a persistent visible label. Use helper and error text for format or validation details rather than relying on a placeholder.
8
+
9
+ Related laws: references/laws/proximity.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/grouping/) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/labels/) (verified 2026-10-16)
@@ -0,0 +1,20 @@
1
+ # logo-wall
2
+
3
+ Binding: gap
4
+
5
+ Show organizations associated with a product or event.
6
+
7
+ Give each meaningful organization logo an identifying alternative. If the adjacent text already names it, use an empty alternative to avoid repetition.
8
+
9
+ ```html
10
+ <ul aria-label="Organizations using the product">
11
+ <li><img src="/logos/acme.svg" width="120" height="40" alt="Acme" /></li>
12
+ </ul>
13
+ ```
14
+
15
+ This is an app-level composition recipe; it does not add a component to UIify.
16
+
17
+ ## Sources
18
+
19
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img) (verified 2026-10-16)
20
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # pagination
2
+
3
+ Binding: pagination
4
+
5
+ Navigate the pages of a result set.
6
+
7
+ Make the current page clear in text and expose it as the current page. Keep previous and next actions named and disable them at the ends.
8
+
9
+ Related laws: references/laws/proximity.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/labels/) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,19 @@
1
+ # password-input
2
+
3
+ Binding: gap
4
+
5
+ Collect a secret string while the browser masks entered characters.
6
+
7
+ Use a visible label, the appropriate autocomplete value, and nearby password requirements. Keep entered values when showing validation errors.
8
+
9
+ ```html
10
+ <label for="account-password">Password</label>
11
+ <input id="account-password" name="password" type="password" autocomplete="current-password" />
12
+ ```
13
+
14
+ This is an app-level composition recipe; it does not add a component to UIify.
15
+
16
+ ## Sources
17
+
18
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/password) (verified 2026-10-16)
19
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,13 @@
1
+ # pricing-table
2
+
3
+ Binding: gap
4
+
5
+ Let visitors compare plan features and choose a plan.
6
+
7
+ Compare plans using the same feature order and clearly associate each action with its plan. Explain meaningful differences without making color the only signal.
8
+
9
+ Related laws: references/laws/proximity.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,19 @@
1
+ # progress-bar
2
+
3
+ Binding: gap
4
+
5
+ Show determinate completion of a task.
6
+
7
+ Give the progress value a visible label and range. Include text that explains completion when the visual meter is unavailable.
8
+
9
+ ```html
10
+ <label for="upload-progress">Upload</label>
11
+ <progress id="upload-progress" value="3" max="5">3 of 5</progress>
12
+ ```
13
+
14
+ This is an app-level composition recipe; it does not add a component to UIify.
15
+
16
+ ## Sources
17
+
18
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress) (verified 2026-10-16)
19
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # search-input
2
+
3
+ Binding: gap
4
+
5
+ Find records within the current table.
6
+
7
+ Give search a visible label and identify the collection it searches. Keep filters and pagination near the result list and announce result changes when they update.
8
+
9
+ Related laws: references/laws/proximity.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/labels/) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # select
2
+
3
+ Binding: select
4
+
5
+ Choose one value from a fixed list.
6
+
7
+ Use a visible label and choose a native select for a finite list of options unless the task needs a different interaction. Preserve the selected value when validation fails.
8
+
9
+ Related laws: references/laws/proximity.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/grouping/) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/labels/) (verified 2026-10-16)
@@ -0,0 +1,20 @@
1
+ # sidebar
2
+
3
+ Binding: gap
4
+
5
+ Provide a secondary set of links for a site or application section.
6
+
7
+ Use a named navigation landmark with a list of destinations. Mark the current destination and keep the link order consistent across pages.
8
+
9
+ ```html
10
+ <nav aria-label="Workspace">
11
+ <ul><li><a href="/projects" aria-current="page">Projects</a></li></ul>
12
+ </nav>
13
+ ```
14
+
15
+ This is an app-level composition recipe; it does not add a component to UIify.
16
+
17
+ ## Sources
18
+
19
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav) (verified 2026-10-16)
20
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,21 @@
1
+ # stats-bar
2
+
3
+ Binding: gap
4
+
5
+ Summarize a few named values for one subject or time period.
6
+
7
+ Pair each metric with a clear label and value. Use a description list when the content consists of term-and-value pairs.
8
+
9
+ ```html
10
+ <dl>
11
+ <div><dt>Active users</dt><dd>1,248</dd></div>
12
+ <div><dt>Period</dt><dd>Last 30 days</dd></div>
13
+ </dl>
14
+ ```
15
+
16
+ This is an app-level composition recipe; it does not add a component to UIify.
17
+
18
+ ## Sources
19
+
20
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl) (verified 2026-10-16)
21
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,20 @@
1
+ # stepper
2
+
3
+ Binding: gap
4
+
5
+ Show ordered steps and identify the current step in a multi-step task.
6
+
7
+ Present ordered steps in their actual sequence and identify the current step in text. Do not imply that future steps are completed.
8
+
9
+ ```html
10
+ <ol aria-label="Application progress">
11
+ <li>Account</li><li aria-current="step">Profile</li><li>Review</li>
12
+ </ol>
13
+ ```
14
+
15
+ This is an app-level composition recipe; it does not add a component to UIify.
16
+
17
+ ## Sources
18
+
19
+ - [www.w3.org](https://www.w3.org/TR/wai-aria-1.2/#aria-current) (verified 2026-10-16)
20
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # switch
2
+
3
+ Binding: switch
4
+
5
+ Expose a binary preference with a clear label.
6
+
7
+ Label the setting by the result it controls and show its current on or off state. Use a switch only for an immediate binary setting.
8
+
9
+ Related laws: references/laws/proximity.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/grouping/) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/labels/) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # table
2
+
3
+ Binding: table
4
+
5
+ Compare structured member records.
6
+
7
+ Use a table for related row-and-column data, with a caption and header cells that identify the data. Associate search and filters with this table.
8
+
9
+ Related laws: references/laws/proximity.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/labels/) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,21 @@
1
+ # testimonial
2
+
3
+ Binding: gap
4
+
5
+ Attribute a customer quote to a named source.
6
+
7
+ Use a quotation with a clear attribution. Include the speaker and relevant affiliation in text when the quotation needs that context.
8
+
9
+ ```html
10
+ <figure>
11
+ <blockquote><p>Setup took minutes.</p></blockquote>
12
+ <figcaption>— Ada Lovelace, Acme</figcaption>
13
+ </figure>
14
+ ```
15
+
16
+ This is an app-level composition recipe; it does not add a component to UIify.
17
+
18
+ ## Sources
19
+
20
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote) (verified 2026-10-16)
21
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,14 @@
1
+ # textarea
2
+
3
+ Binding: textarea
4
+
5
+ Accept a longer free-text value.
6
+
7
+ Give the multiline control a visible label. State length or format limits before entry and keep any validation message beside the control.
8
+
9
+ Related laws: references/laws/proximity.md, references/laws/accessibility.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/grouping/) (verified 2026-10-16)
14
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/labels/) (verified 2026-10-16)
@@ -0,0 +1,20 @@
1
+ # timeline
2
+
3
+ Binding: gap
4
+
5
+ Show dated events in chronological order.
6
+
7
+ Use an ordered list when sequence matters. Encode machine-readable dates with time and keep each event’s date attached to its description.
8
+
9
+ ```html
10
+ <ol>
11
+ <li><time datetime="2026-10-16">October 16, 2026</time><p>Release published</p></li>
12
+ </ol>
13
+ ```
14
+
15
+ This is an app-level composition recipe; it does not add a component to UIify.
16
+
17
+ ## Sources
18
+
19
+ - [developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time) (verified 2026-10-16)
20
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,13 @@
1
+ # toast
2
+
3
+ Binding: toast
4
+
5
+ Confirm the result of a completed save.
6
+
7
+ Use a status message for brief feedback that should not interrupt the current task. Keep essential errors visible until the user can address them.
8
+
9
+ Related laws: references/laws/feedback.md
10
+
11
+ ## Sources
12
+
13
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/status-messages.html) (verified 2026-10-16)
@@ -0,0 +1,11 @@
1
+ # accessibility
2
+
3
+ Preserve semantic relationships and keyboard operation in either visual alternative.
4
+
5
+ - Keep focus order consistent with the meaningful document order; avoid positive tabindex.
6
+
7
+ ## Sources
8
+
9
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
10
+ - [www.w3.org](https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/) (verified 2026-10-16)
11
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/focus-order.html) (verified 2026-10-16)
@@ -0,0 +1,12 @@
1
+ # error-prevention
2
+
3
+ Make destructive confirmation explicit and reversible until confirmed.
4
+
5
+ - Give intrinsic buttons an explicit type to avoid unintended submission.
6
+ - State the consequence, offer cancellation and focus the least destructive action.
7
+
8
+ ## Sources
9
+
10
+ - [www.w3.org](https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/) (verified 2026-10-16)
11
+ - [www.w3.org](https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/) (verified 2026-10-16)
12
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/instructions/) (verified 2026-10-16)
@@ -0,0 +1,9 @@
1
+ # feedback
2
+
3
+ Make save results available without taking focus.
4
+
5
+ - Expose the save confirmation as a status message; choose its visual proximity through the pair.
6
+
7
+ ## Sources
8
+
9
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/status-messages.html) (verified 2026-10-16)
@@ -0,0 +1,10 @@
1
+ # proximity
2
+
3
+ Keep related controls and content visually associated.
4
+
5
+ - Keep semantic grouping and visual grouping consistent; exact spacing is an owner choice.
6
+
7
+ ## Sources
8
+
9
+ - [www.w3.org](https://www.w3.org/WAI/tutorials/forms/grouping/) (verified 2026-10-16)
10
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html) (verified 2026-10-16)
@@ -0,0 +1,9 @@
1
+ # readability
2
+
3
+ Preserve readable content while comparing spacing and alignment.
4
+
5
+ - Avoid long unbroken lines; the 80-character heuristic is inspired by a Level AAA criterion, not an AA requirement.
6
+
7
+ ## Sources
8
+
9
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/visual-presentation.html) (verified 2026-10-16)
@@ -0,0 +1,9 @@
1
+ # von-restorff
2
+
3
+ Consider distinct emphasis for the primary action.
4
+
5
+ - Use clear action labels; visual emphasis is a design hypothesis, and color alone must not carry meaning.
6
+
7
+ ## Sources
8
+
9
+ - [www.w3.org](https://www.w3.org/WAI/WCAG22/Understanding/use-of-color.html) (verified 2026-10-16)