Skip to content

Commit

Permalink
docs(breadcrumb): 馃摑 finish docs
Browse files Browse the repository at this point in the history
  • Loading branch information
navin-moorthy committed Jul 21, 2022
1 parent 7ec9542 commit 0c4b76a
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 34 deletions.
17 changes: 8 additions & 9 deletions docs-templates/breadcrumb.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Breadcrumb

`Breadcrumb` component is used for the page navigation and it provides the
required aria attributes for it's links. It follows the
[WAI-ARIA Breadcrumb Pattern](https://www.w3.org/TR/wai-aria-practices-1.2/#breadcrumb)
required aria attributes for it's links and the current link. It follows the
[WAI-ARIA Breadcrumb Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/)
for its
[accessibility properties](https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-2).
[accessibility properties](https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/#:~:text=Not%20applicable.-,WAI%2DARIA%20Roles%2C%20States%2C%20and%20Properties,-Breadcrumb%20trail%20is).

<!-- INJECT_TOC -->

Expand All @@ -17,12 +17,11 @@ link_title: Breadcrumbs
js: src/breadcrumbs/stories/templates/BreadcrumbsBasicJsx.ts
css: src/breadcrumbs/stories/templates/BreadcrumbsBasicCss.ts
-->

## Accessibility Requirement

- `Breadcrumbs` should have `aria-label` or `aria-labelledby` attribute.
- `BreadcrumbLink` should have `aria-current` set to `page` if the currenct page
is loaded.
<!-- CODESANDBOX
link_title: Breadcrumbs TS
tsx: src/breadcrumbs/stories/templates/BreadcrumbsBasicTsx.ts
css: src/breadcrumbs/stories/templates/BreadcrumbsBasicCss.ts
-->

<!-- INJECT_COMPOSITION src/breadcrumbs -->

Expand Down
4 changes: 2 additions & 2 deletions docs/accordion.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ export default AccordionBasic;
[![Edit CodeSandbox](https://img.shields.io/badge/Accordion%20Multiple-Open%20On%20CodeSandbox-%230971f1?style=for-the-badge&logo=codesandbox&labelColor=151515)](https://codesandbox.io/s/5uvhf6)
[![Edit CodeSandbox](https://img.shields.io/badge/Accordion%20Multiple%20TS-Open%20On%20CodeSandbox-%230971f1?style=for-the-badge&logo=codesandbox&labelColor=151515)](https://codesandbox.io/s/bedlw0)

[![Edit CodeSandbox](https://img.shields.io/badge/Accordion%20Styled-Open%20On%20CodeSandbox-%230971f1?style=for-the-badge&logo=codesandbox&labelColor=151515)](https://codesandbox.io/s/57ynb0)
[![Edit CodeSandbox](https://img.shields.io/badge/Accordion%20Styled%20TS-Open%20On%20CodeSandbox-%230971f1?style=for-the-badge&logo=codesandbox&labelColor=151515)](https://codesandbox.io/s/6f3zew)
[![Edit CodeSandbox](https://img.shields.io/badge/Accordion%20Styled-Open%20On%20CodeSandbox-%230971f1?style=for-the-badge&logo=codesandbox&labelColor=151515)](https://codesandbox.io/s/e0m91w)
[![Edit CodeSandbox](https://img.shields.io/badge/Accordion%20Styled%20TS-Open%20On%20CodeSandbox-%230971f1?style=for-the-badge&logo=codesandbox&labelColor=151515)](https://codesandbox.io/s/gt6ek1)

## Composition

Expand Down
93 changes: 78 additions & 15 deletions docs/breadcrumb.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,92 @@
# Breadcrumb

`Breadcrumb` component is used for the page navigation and it provides the
required aria attributes for it's links. It follows the
[WAI-ARIA Breadcrumb Pattern](https://www.w3.org/TR/wai-aria-practices-1.2/#breadcrumb)
required aria attributes for it's links and the current link. It follows the
[WAI-ARIA Breadcrumb Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/)
for its
[accessibility properties](https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-2).
[accessibility properties](https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/#:~:text=Not%20applicable.-,WAI%2DARIA%20Roles%2C%20States%2C%20and%20Properties,-Breadcrumb%20trail%20is).

<!-- INJECT_TOC -->
## Table of Contents

- [Usage](#usage)
- [Composition](#composition)
- [Props](#props)
- [`BreadcrumbLinkOptions`](#breadcrumblinkoptions)
- [`BreadcrumbsOptions`](#breadcrumbsoptions)

## Usage

<!-- IMPORT_EXAMPLE src/breadcrumbs/stories/templates/BreadcrumbsBasicJsx.ts -->
```js
import * as React from "react";

import { BreadcrumbLink, Breadcrumbs } from "@adaptui/react";

export const BreadcrumbsBasic = props => {
return (
<Breadcrumbs className="breadcrumb">
<ol>
<li>
<BreadcrumbLink href="https://www.w3.org/WAI/ARIA/apg/">
ARIA Authoring Practices Guide
</BreadcrumbLink>
</li>
<li>
<BreadcrumbLink href="https://www.w3.org/WAI/ARIA/apg/patterns/">
APG Patterns
</BreadcrumbLink>
</li>
<li>
<BreadcrumbLink
isCurrentPage
href="https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/"
>
Breadcrumb Pattern
</BreadcrumbLink>
</li>
<li>
<BreadcrumbLink href="https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/">
Breadcrumb Example
</BreadcrumbLink>
</li>
</ol>
</Breadcrumbs>
);
};

<!-- CODESANDBOX
link_title: Breadcrumbs
js: src/breadcrumbs/stories/templates/BreadcrumbsBasicJsx.ts
css: src/breadcrumbs/stories/templates/BreadcrumbsBasicCss.ts
-->
export default BreadcrumbsBasic;
```

## Accessibility Requirement
[![Edit CodeSandbox](https://img.shields.io/badge/Breadcrumbs-Open%20On%20CodeSandbox-%230971f1?style=for-the-badge&logo=codesandbox&labelColor=151515)](https://codesandbox.io/s/edse1g)
[![Edit CodeSandbox](https://img.shields.io/badge/Breadcrumbs%20TS-Open%20On%20CodeSandbox-%230971f1?style=for-the-badge&logo=codesandbox&labelColor=151515)](https://codesandbox.io/s/0jfmlo)

- `Breadcrumbs` should have `aria-label` or `aria-labelledby` attribute.
- `BreadcrumbLink` should have `aria-current` set to `page` if the currenct page
is loaded.
## Composition

<!-- INJECT_COMPOSITION src/breadcrumbs -->
- BreadcrumbLink uses `CommandOptions`
- Breadcrumbs uses `Role`

## Props

### `BreadcrumbLinkOptions`

| Name | Type | Description |
| :------------------ | :-------------------------------- | :----------------------------------- |
| **`isCurrentPage`** | <code>boolean \| undefined</code> | If true, sets `aria-current: "page"` |

<details><summary>CommandOptions props</summary>
> These props are returned by the other props You can also provide these props.
| Name | Type | Description |
| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **`disabled`** | <code>boolean \| undefined</code> | Determines whether the focusable element is disabled. If the focusableelement doesn't support the native `disabled` attribute, the`aria-disabled` attribute will be used instead. |
| **`autoFocus`** | <code>boolean \| undefined</code> | Automatically focus the element when it is mounted. It works similarly tothe native `autoFocus` prop, but solves an issue where the element isgiven focus before React effects can run. |
| **`focusable`** | <code>boolean \| undefined</code> | Whether the element should be focusable. |
| **`accessibleWhenDisabled`** | <code>boolean \| undefined</code> | Determines whether the element should be focusable even when it isdisabled.This is important when discoverability is a concern. For example:> A toolbar in an editor contains a set of special smart paste functionsthat are disabled when the clipboard is empty or when the function is notapplicable to the current content of the clipboard. It could be helpful tokeep the disabled buttons focusable if the ability to discover theirfunctionality is primarily via their presence on the toolbar.Learn more on [Focusability of disabledcontrols](https://www.w3.org/TR/wai-aria-practices-1.2/#kbd_disabled_controls). |
| **`onFocusVisible`** | <code title="((event: SyntheticEvent&#60;Element, Event&#62;) =&#62; void) \| undefined">((event: SyntheticEvent&#60;Element, Event&#62;) =&#62; voi...</code> | Custom event handler that is called when the element is focused via thekeyboard or when a key is pressed while the element is focused. |
| **`clickOnEnter`** | <code>boolean \| undefined</code> | If true, pressing the enter key will trigger a click on the button. |
| **`clickOnSpace`** | <code>boolean \| undefined</code> | If true, pressing the space key will trigger a click on the button. |

</details>

### `BreadcrumbsOptions`

No props to show
2 changes: 1 addition & 1 deletion src/accordion/stories/AccordionStyled.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {

export type AccordionStyledProps = AccordionStateProps;

// Styled based on https://www.w3.org/TR/wai-aria-practices-1.2/examples/accordion/accordion.html
// Styled based on https://www.w3.org/WAI/ARIA/apg/example-index/accordion/accordion.html
export const AccordionStyled: React.FC<AccordionStyledProps> = props => {
const state = useAccordionState(props);

Expand Down
14 changes: 7 additions & 7 deletions src/breadcrumbs/stories/BreadcrumbsBasic.component.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,28 @@ export type BreadcrumbsBasicProps = BreadcrumbsProps & {};

export const BreadcrumbsBasic: React.FC<BreadcrumbsBasicProps> = props => {
return (
<Breadcrumbs aria-label="Breadcrumb" className="breadcrumb">
<Breadcrumbs className="breadcrumb">
<ol>
<li>
<BreadcrumbLink href="https://www.w3.org/TR/wai-aria-practices-1.1/">
WAI-ARIA Authoring Practices 1.1
<BreadcrumbLink href="https://www.w3.org/WAI/ARIA/apg/">
ARIA Authoring Practices Guide
</BreadcrumbLink>
</li>
<li>
<BreadcrumbLink href="https://www.w3.org/TR/wai-aria-practices-1.1/#aria_ex">
Design Patterns
<BreadcrumbLink href="https://www.w3.org/WAI/ARIA/apg/patterns/">
APG Patterns
</BreadcrumbLink>
</li>
<li>
<BreadcrumbLink
isCurrentPage
href="https://www.w3.org/TR/wai-aria-practices-1.1/#breadcrumb"
href="https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/"
>
Breadcrumb Pattern
</BreadcrumbLink>
</li>
<li>
<BreadcrumbLink href="https://www.w3.org/TR/wai-aria-practices-1.1/examples/breadcrumb/index.html">
<BreadcrumbLink href="https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/">
Breadcrumb Example
</BreadcrumbLink>
</li>
Expand Down

0 comments on commit 0c4b76a

Please sign in to comment.