@porsche-design-system/components-react 4.6.0-rc.0 → 4.6.0-rc.1
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.
- package/CHANGELOG.md +24 -0
- package/bin/pds-skill.js +166 -79
- package/package.json +2 -2
- package/{skill → skills/pds-knowledge-react}/SKILL.md +6 -6
- package/skills/pds-knowledge-react/references/components/p-accordion/accessibility.md +63 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-accordion/p-accordion.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-banner/accessibility.md +37 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-banner/p-banner.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-button/accessibility.md +61 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-button/p-button.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-button-pure/accessibility.md +61 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/p-button-pure.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-button-tile/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/p-button-tile.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-canvas/examples/Default.tsx +111 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-canvas/p-canvas.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-carousel/accessibility.md +61 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/p-carousel.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-checkbox/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/p-checkbox.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-crest/accessibility.md +17 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-crest/p-crest.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-divider/accessibility.md +41 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-divider/p-divider.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-drilldown/accessibility.md +65 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-drilldown/p-drilldown.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-fieldset/accessibility.md +37 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-fieldset/p-fieldset.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-flag/accessibility.md +39 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-flag/p-flag.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-flyout/accessibility.md +80 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-flyout/p-flyout.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-heading/accessibility.md +29 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-heading/p-heading.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-icon/accessibility.md +39 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-icon/p-icon.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-inline-notification/accessibility.md +36 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-inline-notification/p-inline-notification.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-date/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-date/p-input-date.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-email/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-email/p-input-email.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-month/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-month/p-input-month.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-number/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-number/p-input-number.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-password/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-password/p-input-password.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-search/accessibility.md +59 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-search/p-input-search.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-tel/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-tel/p-input-tel.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-text/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-text/p-input-text.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-time/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-time/p-input-time.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-url/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-url/p-input-url.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-input-week/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-input-week/p-input-week.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-link/accessibility.md +73 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-link/p-link.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-link-pure/accessibility.md +73 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-link-pure/p-link-pure.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-link-tile/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/p-link-tile.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-modal/accessibility.md +80 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-modal/p-modal.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-multi-select/accessibility.md +78 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/p-multi-select.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-pagination/accessibility.md +23 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-pagination/p-pagination.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-pin-code/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-pin-code/p-pin-code.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-popover/accessibility.md +61 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-popover/p-popover.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-radio-group/accessibility.md +63 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-radio-group/p-radio-group.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-scroller/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-scroller/p-scroller.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-segmented-control/accessibility.md +67 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-segmented-control/p-segmented-control.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-select/accessibility.md +140 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-select/p-select.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-sheet/accessibility.md +80 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-sheet/p-sheet.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-spinner/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/p-spinner.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-stepper-horizontal/accessibility.md +34 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-stepper-horizontal/p-stepper-horizontal.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-switch/accessibility.md +35 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-switch/p-switch.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-table/accessibility.md +47 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/Sorting.tsx +9 -8
- package/{skill → skills/pds-knowledge-react}/references/components/p-table/p-table.md +5 -1
- package/skills/pds-knowledge-react/references/components/p-tabs/accessibility.md +56 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-tabs/p-tabs.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-tabs-bar/accessibility.md +61 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-tabs-bar/p-tabs-bar.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-tag/accessibility.md +19 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-tag/p-tag.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-tag-dismissible/accessibility.md +35 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-tag-dismissible/p-tag-dismissible.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-text/accessibility.md +21 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-text/p-text.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-text-list/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-text-list/p-text-list.md +4 -0
- package/skills/pds-knowledge-react/references/components/p-textarea/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-textarea/p-textarea.md +4 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-toast/p-toast.md +1 -1
- package/skills/pds-knowledge-react/references/components/p-wordmark/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-react}/references/components/p-wordmark/p-wordmark.md +4 -0
- package/{skill → skills/pds-knowledge-react}/references/styles/tailwindcss.md +1 -1
- package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +5 -5
- package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +1 -1
- package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +5 -5
- package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +1 -1
- package/skill/references/components/p-canvas/examples/Default.tsx +0 -10
- /package/{skill → skills/pds-knowledge-react}/references/components/p-accordion/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-accordion/examples/InteractiveElementsInSummary.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-accordion/examples/StickySummary.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinCheckbox.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinFormLabel.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinImage.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinInputSearch.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinRadioGroup.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinTable.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinText.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/p-ai-tag.md +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-banner/examples/Customization.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-banner/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button/examples/FormAttribute.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/examples/CustomClickableArea.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/examples/FormAttribute.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/examples/ColorScheme.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/examples/FooterSlot.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/examples/Hyphens.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/examples/UiBehaviour.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/DynamicSlides.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/FlexibleWidths.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/FocusOnCenterSlide.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/Intl.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/JumpToSlide.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/examples/Indeterminate.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/examples/WrappedLabel.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-crest/examples/CustomClickableArea.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-crest/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-crest/examples/Link.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-display/examples/Color.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-display/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-display/examples/Semantics.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-display/examples/Size.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-display/examples/SizeResponsive.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-display/p-display.md +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-divider/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-divider/examples/Responsive.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-divider/examples/Vertical.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-drilldown/examples/CustomContent.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-drilldown/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-fieldset/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-fieldset/examples/Required.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-fieldset/examples/SlottedLabel.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-fieldset/examples/SlottedMessage.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-flag/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-flag/examples/ResponsiveSize.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-flag/examples/Size.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-flag/examples/SizeCssVar.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-flyout/examples/CustomStyling.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-flyout/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-flyout/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-flyout/examples/StickyTop.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-heading/examples/Color.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-heading/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-heading/examples/Semantics.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/Color.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/ColorCssVar.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/Custom.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/Overview.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/ResponsiveSize.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/Size.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/SizeCssVar.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-inline-notification/examples/ActionButton.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-inline-notification/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-inline-notification/examples/EventHandling.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-date/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-date/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-date/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-email/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-email/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-email/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-month/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-month/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-month/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-number/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-number/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-number/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-password/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-password/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-password/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-password/examples/Toggle.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-search/examples/AriaCombobox.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-search/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-search/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-search/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-tel/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-tel/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-tel/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-text/examples/Controlled.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-text/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-text/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-text/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-time/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-time/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-time/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-url/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-url/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-url/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-week/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-week/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-input-week/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link/examples/FrameworkRouting.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link/examples/Icon.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-pure/examples/CustomClickableArea.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-pure/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-pure/examples/FrameworkRouting.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-pure/examples/Icon.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/ColorScheme.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/FooterSlot.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/Hyphens.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/UiBehaviour.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/WithVideo.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile-product/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile-product/examples/FrameworkRouting.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile-product/p-link-tile-product.md +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-modal/examples/AlertDialog.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-modal/examples/CustomStyling.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-modal/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-modal/examples/Scrollable.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/CustomStyling.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/MaskBlendMode.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/MaskImage.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/MaskVideo.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/SafeZone.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/p-model-signature.md +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/AsyncFilter.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/Optgroups.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/SelectedSlot.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/SetValue.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-pagination/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-pin-code/examples/CopyPaste.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-pin-code/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-pin-code/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-pin-code/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-popover/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-popover/examples/SlottedButton.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-radio-group/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-radio-group/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-radio-group/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-scroller/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-scroller/examples/Height.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-scroller/examples/ScrollToPosition.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-segmented-control/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-segmented-control/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-segmented-control/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-segmented-control/examples/WithLabels.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/AsyncFilter.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/Optgroups.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/Required.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/SelectedSlot.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/SetValue.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/SlottedImages.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-sheet/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/Color.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/ColorCssVar.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/ResponsiveSize.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/Size.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/SizeCssVar.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-stepper-horizontal/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-stepper-horizontal/examples/FrameworkImplementation.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-switch/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/Advanced.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/CaptionProperty.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/CaptionSlot.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/HideLabel.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/LayoutFixed.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs/examples/ActiveTab.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs/examples/Gradient.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs/examples/Labelling.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs-bar/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs-bar/examples/Gradient.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs-bar/examples/Labelling.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs-bar/examples/Links.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tag/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tag/examples/Multiline.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tag/examples/SlottedButton.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tag/examples/SlottedLink.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-tag-dismissible/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-text/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-text/examples/Semantics.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-text/examples/Size.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-text/examples/SizeResponsive.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-text-list/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-textarea/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-textarea/examples/Form.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-textarea/examples/Slots.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-toast/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-wordmark/examples/CustomClickableArea.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-wordmark/examples/Default.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/components/p-wordmark/examples/Size.tsx +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/icons.md +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/styles/emotion.md +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/styles/scss.md +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/styles/vanilla-extract.md +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/stylesheets.md +0 -0
- /package/{skill → skills/pds-knowledge-react}/references/tokens.md +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# p-button-pure accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### ARIA on component host vs aria prop
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<PButtonPure aria-haspopup="dialog" aria-label="Open details of product XYZ">
|
|
11
|
+
Open details
|
|
12
|
+
</PButtonPure>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
#### ✅ Recommended
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
<PButtonPure aria={{'aria-haspopup': 'dialog', 'aria-label': 'Open details of product XYZ'}}>
|
|
19
|
+
Open details
|
|
20
|
+
</PButtonPure>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Icon-only button without accessible name
|
|
24
|
+
|
|
25
|
+
#### ❌ Anti-pattern
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
<PButtonPure icon="plus"></PButtonPure>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
#### ✅ Recommended
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
<PButtonPure icon="plus" hideLabel={true}>
|
|
35
|
+
Add item XYZ to shopping cart
|
|
36
|
+
</PButtonPure>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Vague button label without context
|
|
40
|
+
|
|
41
|
+
#### ❌ Anti-pattern
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
<PButtonPure icon="plus">
|
|
45
|
+
Add
|
|
46
|
+
</PButtonPure>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
#### ✅ Recommended
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
<PButtonPure icon="plus" aria={{'aria-label': 'Add item XYZ to shopping cart'}}>
|
|
53
|
+
Add
|
|
54
|
+
</PButtonPure>
|
|
55
|
+
|
|
56
|
+
{/* or use descriptive visible text */}
|
|
57
|
+
|
|
58
|
+
<PButtonPure icon="plus">
|
|
59
|
+
Add item XYZ to cart
|
|
60
|
+
</PButtonPure>
|
|
61
|
+
```
|
package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/p-button-pure.md
RENAMED
|
@@ -79,6 +79,10 @@ If the text of a button does not clearly indicate what the button's behavior is,
|
|
|
79
79
|
- **Don't** add native `aria-*` attributes directly on the component host.
|
|
80
80
|
- **Don't** rely on short generic button labels like "Show" or "Add" without context.
|
|
81
81
|
|
|
82
|
+
## Integration examples
|
|
83
|
+
|
|
84
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
85
|
+
|
|
82
86
|
## API
|
|
83
87
|
|
|
84
88
|
### Properties
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# p-button-tile accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### ARIA on component host vs aria prop
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<PButtonTile label="Open" aria-label="Open details of Porsche Taycan" aria-haspopup="dialog"></PButtonTile>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
#### ✅ Recommended
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<PButtonTile label="Open" aria={{'aria-haspopup': 'dialog', 'aria-label': 'Open details of Porsche Taycan'}}></PButtonTile>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Vague tile label without context
|
|
20
|
+
|
|
21
|
+
#### ❌ Anti-pattern
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<PButtonTile label="Open"></PButtonTile>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### ✅ Recommended
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
<PButtonTile label="Configure Porsche Taycan"></PButtonTile>
|
|
31
|
+
```
|
package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/p-button-tile.md
RENAMED
|
@@ -75,6 +75,10 @@ If the text of the button does not clearly indicate what the button's function i
|
|
|
75
75
|
- **Do** add `aria-label` on slotted `<video>` elements used as backgrounds.
|
|
76
76
|
- **Don't** add native `aria-*` attributes directly on the component host.
|
|
77
77
|
|
|
78
|
+
## Integration examples
|
|
79
|
+
|
|
80
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
81
|
+
|
|
78
82
|
## API
|
|
79
83
|
|
|
80
84
|
### Properties
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
type CanvasSidebarStartUpdateEventDetail,
|
|
4
|
+
PButton,
|
|
5
|
+
PCanvas,
|
|
6
|
+
PHeading,
|
|
7
|
+
PText,
|
|
8
|
+
} from '@porsche-design-system/components-react';
|
|
9
|
+
import { breakpointS } from '@porsche-design-system/components-react/emotion';
|
|
10
|
+
import { useCallback, useState } from 'react';
|
|
11
|
+
|
|
12
|
+
export const Example = () => {
|
|
13
|
+
const [isSidebarStartOpen, setIsSidebarStartOpen] = useState<boolean>(
|
|
14
|
+
// initially, sidebar should be closed on mobile and opened on desktop
|
|
15
|
+
window.matchMedia(`(min-width: ${breakpointS}px)`).matches
|
|
16
|
+
);
|
|
17
|
+
const [isSidebarEndOpen, setIsSidebarEndOpen] = useState<boolean>(false);
|
|
18
|
+
|
|
19
|
+
const onSidebarStartUpdate = useCallback((e: CustomEvent<CanvasSidebarStartUpdateEventDetail>) => {
|
|
20
|
+
setIsSidebarStartOpen(e.detail.open);
|
|
21
|
+
}, []);
|
|
22
|
+
const onSidebarEndOpen = useCallback(() => {
|
|
23
|
+
setIsSidebarEndOpen(true);
|
|
24
|
+
}, []);
|
|
25
|
+
const onSidebarEndDismiss = useCallback(() => {
|
|
26
|
+
setIsSidebarEndOpen(false);
|
|
27
|
+
}, []);
|
|
28
|
+
|
|
29
|
+
const style = `
|
|
30
|
+
.-col-span-full-1 {
|
|
31
|
+
grid-column: 1 / -1;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.-col-span-full-2 {
|
|
35
|
+
grid-column: 2 / -2;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.-col-span-full-3 {
|
|
39
|
+
grid-column: 3 / -3;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.-col-span-4 {
|
|
43
|
+
grid-column: span 4;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.tile {
|
|
47
|
+
margin-top: 16px;
|
|
48
|
+
display: flex;
|
|
49
|
+
align-items: center;
|
|
50
|
+
justify-content: center;
|
|
51
|
+
padding: 16px;
|
|
52
|
+
background: lightpink;
|
|
53
|
+
}
|
|
54
|
+
`;
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<>
|
|
58
|
+
<style dangerouslySetInnerHTML={{ __html: style }} />
|
|
59
|
+
<PCanvas
|
|
60
|
+
sidebarStartOpen={isSidebarStartOpen}
|
|
61
|
+
sidebarEndOpen={isSidebarEndOpen}
|
|
62
|
+
onSidebarStartUpdate={onSidebarStartUpdate}
|
|
63
|
+
onSidebarEndDismiss={onSidebarEndDismiss}
|
|
64
|
+
>
|
|
65
|
+
<a slot="title" href="#">
|
|
66
|
+
App Name
|
|
67
|
+
</a>
|
|
68
|
+
|
|
69
|
+
<PButton
|
|
70
|
+
slot="header-end"
|
|
71
|
+
icon="configurate"
|
|
72
|
+
variant="secondary"
|
|
73
|
+
compact={true}
|
|
74
|
+
hideLabel={true}
|
|
75
|
+
onClick={onSidebarEndOpen}
|
|
76
|
+
>
|
|
77
|
+
Open sidebar
|
|
78
|
+
</PButton>
|
|
79
|
+
|
|
80
|
+
<div className="-p-canvas-grid">
|
|
81
|
+
<PText className="-col-span-full-1">Content</PText>
|
|
82
|
+
|
|
83
|
+
<div className="tile -col-span-4">Grid span 4x</div>
|
|
84
|
+
<div className="tile -col-span-4">Grid span 4x</div>
|
|
85
|
+
<div className="tile -col-span-4">Grid span 4x</div>
|
|
86
|
+
|
|
87
|
+
<div className="tile -col-span-full-1">12 Grid columns</div>
|
|
88
|
+
<div className="tile -col-span-full-2">10 Grid columns</div>
|
|
89
|
+
<div className="tile -col-span-full-3">8 Grid columns</div>
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
<div slot="footer" className="-p-canvas-grid">
|
|
93
|
+
<PText className="-col-span-full-1">Footer</PText>
|
|
94
|
+
<div className="tile -col-span-full-1">12 Grid columns</div>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<div slot="sidebar-start">
|
|
98
|
+
<PText>Sidebar Start</PText>
|
|
99
|
+
</div>
|
|
100
|
+
|
|
101
|
+
<PHeading slot="sidebar-end-header" tag="h2" size="small">
|
|
102
|
+
Sidebar End Header
|
|
103
|
+
</PHeading>
|
|
104
|
+
|
|
105
|
+
<div slot="sidebar-end">
|
|
106
|
+
<PText>Sidebar End</PText>
|
|
107
|
+
</div>
|
|
108
|
+
</PCanvas>
|
|
109
|
+
</>
|
|
110
|
+
);
|
|
111
|
+
};
|
|
@@ -10,6 +10,10 @@ The canvas component provides a CSS utility class which comes with a basic 12 co
|
|
|
10
10
|
.-p-canvas-grid // experimental, might be removed in a future release
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
> **Porsche Grid compatibility**
|
|
14
|
+
>
|
|
15
|
+
> The standard Porsche Grid currently supports only top-level layouts that span the full viewport width. Do not use it inside the `p-canvas` default or footer slots because their available width can be reduced by open sidebars. Use `.-p-canvas-grid` instead.
|
|
16
|
+
|
|
13
17
|
The canvas component has some values which can be overwritten by **CSS Variables**.
|
|
14
18
|
|
|
15
19
|
```scss
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# p-carousel accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### ARIA on component host vs aria prop
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<PCarousel aria-label="Slider">
|
|
11
|
+
{/* slides */}
|
|
12
|
+
</PCarousel>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
#### ✅ Recommended
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
<PCarousel aria={{'aria-label': 'Featured Porsche models'}}>
|
|
19
|
+
{/* slides */}
|
|
20
|
+
</PCarousel>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Carousel without skip path for keyboard users
|
|
24
|
+
|
|
25
|
+
#### ❌ Anti-pattern
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
<PCarousel>
|
|
29
|
+
{/* many slides (>6 items) */}
|
|
30
|
+
</PCarousel>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### ✅ Recommended
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<PCarousel skipLinkTarget="#after-carousel" aria={{'aria-label': 'Highlights'}}>
|
|
37
|
+
{/* many slides (>6 items) */}
|
|
38
|
+
</PCarousel>
|
|
39
|
+
|
|
40
|
+
<PHeading tag="h2" id="after-carousel">
|
|
41
|
+
Next section
|
|
42
|
+
</PHeading>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Vague carousel label
|
|
46
|
+
|
|
47
|
+
#### ❌ Anti-pattern
|
|
48
|
+
|
|
49
|
+
```tsx
|
|
50
|
+
<PCarousel aria={{'aria-label': 'Slider'}}>
|
|
51
|
+
{/* slides */}
|
|
52
|
+
</PCarousel>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### ✅ Recommended
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
<PCarousel aria={{'aria-label': 'Featured Porsche models'}}>
|
|
59
|
+
{/* slides */}
|
|
60
|
+
</PCarousel>
|
|
61
|
+
```
|
|
@@ -78,6 +78,10 @@ Through the `skipLinkTarget` property, a skip link for keyboard users can be pro
|
|
|
78
78
|
- **Don't** force keyboard users to tab through every slide control when a skip path is needed.
|
|
79
79
|
- **Don't** use vague labels that do not communicate carousel context.
|
|
80
80
|
|
|
81
|
+
## Integration examples
|
|
82
|
+
|
|
83
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
84
|
+
|
|
81
85
|
## API
|
|
82
86
|
|
|
83
87
|
### Properties
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# p-checkbox accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### Hidden label without accessible name
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<PCheckbox name="terms" hideLabel={true}></PCheckbox>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
#### ✅ Recommended
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<PCheckbox name="terms" hideLabel={true} label="I accept the terms and conditions"></PCheckbox>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Validation feedback via state and message API
|
|
20
|
+
|
|
21
|
+
#### ❌ Anti-pattern
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<PCheckbox name="terms" label="I accept the terms and conditions" aria-invalid={true} message="Required"></PCheckbox>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### ✅ Recommended
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
<PCheckbox name="terms" label="I accept the terms and conditions" required={true} state="error" message="Accept the terms and conditions to continue."></PCheckbox>
|
|
31
|
+
```
|
|
@@ -68,6 +68,10 @@ In general, avoid using the `disabled` state. Disabled elements are no longer fo
|
|
|
68
68
|
- **Don't** use `hide-label` without an accessible name.
|
|
69
69
|
- **Don't** use `hide-label` when it is not clear what the checkbox controls.
|
|
70
70
|
|
|
71
|
+
## Integration examples
|
|
72
|
+
|
|
73
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
74
|
+
|
|
71
75
|
## API
|
|
72
76
|
|
|
73
77
|
### Properties
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# p-crest accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### ARIA on component host vs aria prop
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<PCrest href="/" aria-label="Porsche home"></PCrest>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
#### ✅ Recommended
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<PCrest href="/" aria={{'aria-label': 'Porsche home'}}></PCrest>
|
|
17
|
+
```
|
|
@@ -46,6 +46,10 @@ You can use native `click`, `focus`, `focusin`, `blur` and `focusout` events on
|
|
|
46
46
|
- **Do** provide a descriptive `aria-label` for linked crests, for example "Porsche home".
|
|
47
47
|
- **Don't** add native `aria-*` attributes directly on the component host.
|
|
48
48
|
|
|
49
|
+
## Integration examples
|
|
50
|
+
|
|
51
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
52
|
+
|
|
49
53
|
## API
|
|
50
54
|
|
|
51
55
|
### Properties
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# p-divider accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### Divider as the only section separator
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<PText>
|
|
11
|
+
Delivery details
|
|
12
|
+
</PText>
|
|
13
|
+
|
|
14
|
+
<PDivider></PDivider>
|
|
15
|
+
|
|
16
|
+
<PText>
|
|
17
|
+
Payment details
|
|
18
|
+
</PText>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
#### ✅ Recommended
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<PHeading tag="h2" size="md">
|
|
25
|
+
Delivery details
|
|
26
|
+
</PHeading>
|
|
27
|
+
|
|
28
|
+
<PText>
|
|
29
|
+
...
|
|
30
|
+
</PText>
|
|
31
|
+
|
|
32
|
+
<PDivider></PDivider>
|
|
33
|
+
|
|
34
|
+
<PHeading tag="h2" size="md">
|
|
35
|
+
Payment details
|
|
36
|
+
</PHeading>
|
|
37
|
+
|
|
38
|
+
<PText>
|
|
39
|
+
...
|
|
40
|
+
</PText>
|
|
41
|
+
```
|
|
@@ -31,6 +31,10 @@ A divider is visual separation only. Use headings, landmarks, or section structu
|
|
|
31
31
|
- **Do** pair dividers with headings or landmarks that describe the sections they separate.
|
|
32
32
|
- **Don't** rely on a divider alone to communicate a new major section.
|
|
33
33
|
|
|
34
|
+
## Integration examples
|
|
35
|
+
|
|
36
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
37
|
+
|
|
34
38
|
## API
|
|
35
39
|
|
|
36
40
|
### Properties
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# p-drilldown accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### ARIA on trigger button host vs aria prop
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<PButton aria-haspopup="dialog">
|
|
11
|
+
Menu
|
|
12
|
+
</PButton>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
#### ✅ Recommended
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
<PButton aria={{'aria-haspopup': 'dialog'}}>
|
|
19
|
+
Vehicle menu
|
|
20
|
+
</PButton>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Drilldown label on component host vs aria prop
|
|
24
|
+
|
|
25
|
+
#### ❌ Anti-pattern
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
<PDrilldown open={true} aria-label="Navigation">
|
|
29
|
+
...
|
|
30
|
+
</PDrilldown>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### ✅ Recommended
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<PDrilldown open={true} aria={{'aria-label': 'Vehicle navigation'}}>
|
|
37
|
+
...
|
|
38
|
+
</PDrilldown>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Trigger without popup semantics or context
|
|
42
|
+
|
|
43
|
+
#### ❌ Anti-pattern
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
<PButton>
|
|
47
|
+
Menu
|
|
48
|
+
</PButton>
|
|
49
|
+
|
|
50
|
+
<PDrilldown>
|
|
51
|
+
...
|
|
52
|
+
</PDrilldown>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### ✅ Recommended
|
|
56
|
+
|
|
57
|
+
```tsx
|
|
58
|
+
<PButton aria={{'aria-haspopup': 'dialog'}}>
|
|
59
|
+
Vehicle menu
|
|
60
|
+
</PButton>
|
|
61
|
+
|
|
62
|
+
<PDrilldown aria={{'aria-label': 'Vehicle navigation'}}>
|
|
63
|
+
...
|
|
64
|
+
</PDrilldown>
|
|
65
|
+
```
|
package/{skill → skills/pds-knowledge-react}/references/components/p-drilldown/p-drilldown.md
RENAMED
|
@@ -74,6 +74,10 @@ To inform users that the trigger button opens a `dialog`, the `aria-haspopup` at
|
|
|
74
74
|
- **Do** provide a meaningful dialog label through the drilldown `aria` prop when needed.
|
|
75
75
|
- **Don't** add native `aria-*` attributes directly on the component host.
|
|
76
76
|
|
|
77
|
+
## Integration examples
|
|
78
|
+
|
|
79
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
80
|
+
|
|
77
81
|
## API
|
|
78
82
|
|
|
79
83
|
### Properties
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# p-fieldset accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### Unlabeled field group
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<PFieldset>
|
|
11
|
+
<PInputText name="street" label="Street"></PInputText>
|
|
12
|
+
<PInputText name="city" label="City"></PInputText>
|
|
13
|
+
</PFieldset>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
#### ✅ Recommended
|
|
17
|
+
|
|
18
|
+
```tsx
|
|
19
|
+
<PFieldset label="Delivery address">
|
|
20
|
+
<PInputText name="street" label="Street"></PInputText>
|
|
21
|
+
<PInputText name="city" label="City"></PInputText>
|
|
22
|
+
</PFieldset>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Error state without recovery guidance
|
|
26
|
+
|
|
27
|
+
#### ❌ Anti-pattern
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
<PFieldset label="Delivery address" state="error" message="Invalid"></PFieldset>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### ✅ Recommended
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
<PFieldset label="Delivery address" required={true} state="error" message="Complete all required address fields to continue."></PFieldset>
|
|
37
|
+
```
|
|
@@ -57,6 +57,10 @@ The `p-fieldset` is a grouping component for wrapping contextual associated form
|
|
|
57
57
|
- **Do** use `aria="{ 'role': 'radiogroup' }"` only when the fieldset contains custom radio controls.
|
|
58
58
|
- **Don't** set `state="error"` without a descriptive `message`.
|
|
59
59
|
|
|
60
|
+
## Integration examples
|
|
61
|
+
|
|
62
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
63
|
+
|
|
60
64
|
## API
|
|
61
65
|
|
|
62
66
|
### Properties
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# p-flag accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### Informative flag without accessible name
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<PFlag name="germany"></PFlag>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
#### ✅ Recommended
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
<PFlag name="germany" aria={{'aria-label': 'Germany'}}></PFlag>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Decorative flag with redundant label
|
|
20
|
+
|
|
21
|
+
#### ❌ Anti-pattern
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<PFlag name="germany" aria={{'aria-label': 'Germany'}}></PFlag>
|
|
25
|
+
|
|
26
|
+
<PText>
|
|
27
|
+
Germany
|
|
28
|
+
</PText>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
#### ✅ Recommended
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
<PFlag name="germany" ariaHidden={true}></PFlag>
|
|
35
|
+
|
|
36
|
+
<PText>
|
|
37
|
+
Germany
|
|
38
|
+
</PText>
|
|
39
|
+
```
|
|
@@ -42,6 +42,10 @@ The following guidelines provide instructions for designers and developers on th
|
|
|
42
42
|
- **Do** hide decorative flags from assistive technologies when adjacent text already names the country or region.
|
|
43
43
|
- **Don't** leave informative flags without an accessible name.
|
|
44
44
|
|
|
45
|
+
## Integration examples
|
|
46
|
+
|
|
47
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
48
|
+
|
|
45
49
|
## API
|
|
46
50
|
|
|
47
51
|
### Properties
|