@chenzy-design/svelte 0.2.0 → 0.2.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/README.md +66 -0
- package/dist/badge/Badge.svelte +5 -2
- package/dist/badge/Badge.svelte.d.ts.map +1 -1
- package/dist/components.json +1 -1
- package/package.json +6 -5
- package/dist/anchor/Anchor.a11y.test.d.ts +0 -2
- package/dist/anchor/Anchor.a11y.test.d.ts.map +0 -1
- package/dist/anchor/Anchor.a11y.test.js +0 -44
- package/dist/anchor/Anchor.kbd.test.d.ts +0 -2
- package/dist/anchor/Anchor.kbd.test.d.ts.map +0 -1
- package/dist/anchor/Anchor.kbd.test.js +0 -59
- package/dist/anchor/AnchorKbdFixture.svelte +0 -24
- package/dist/anchor/AnchorKbdFixture.svelte.d.ts +0 -19
- package/dist/anchor/AnchorKbdFixture.svelte.d.ts.map +0 -1
- package/dist/autocomplete/AutoComplete.a11y.test.d.ts +0 -2
- package/dist/autocomplete/AutoComplete.a11y.test.d.ts.map +0 -1
- package/dist/autocomplete/AutoComplete.a11y.test.js +0 -45
- package/dist/autocomplete/AutoComplete.kbd.test.d.ts +0 -2
- package/dist/autocomplete/AutoComplete.kbd.test.d.ts.map +0 -1
- package/dist/autocomplete/AutoComplete.kbd.test.js +0 -60
- package/dist/autocomplete/AutoCompleteKbdFixture.svelte +0 -24
- package/dist/autocomplete/AutoCompleteKbdFixture.svelte.d.ts +0 -4
- package/dist/autocomplete/AutoCompleteKbdFixture.svelte.d.ts.map +0 -1
- package/dist/avatar/Avatar.a11y.test.d.ts +0 -2
- package/dist/avatar/Avatar.a11y.test.d.ts.map +0 -1
- package/dist/avatar/Avatar.a11y.test.js +0 -34
- package/dist/back-top/BackTop.a11y.test.d.ts +0 -2
- package/dist/back-top/BackTop.a11y.test.d.ts.map +0 -1
- package/dist/back-top/BackTop.a11y.test.js +0 -37
- package/dist/badge/Badge.a11y.test.d.ts +0 -2
- package/dist/badge/Badge.a11y.test.d.ts.map +0 -1
- package/dist/badge/Badge.a11y.test.js +0 -32
- package/dist/badge/BadgeA11yFixture.svelte +0 -18
- package/dist/badge/BadgeA11yFixture.svelte.d.ts +0 -7
- package/dist/badge/BadgeA11yFixture.svelte.d.ts.map +0 -1
- package/dist/banner/Banner.a11y.test.d.ts +0 -2
- package/dist/banner/Banner.a11y.test.d.ts.map +0 -1
- package/dist/banner/Banner.a11y.test.js +0 -43
- package/dist/breadcrumb/Breadcrumb.a11y.test.d.ts +0 -2
- package/dist/breadcrumb/Breadcrumb.a11y.test.d.ts.map +0 -1
- package/dist/breadcrumb/Breadcrumb.a11y.test.js +0 -31
- package/dist/breadcrumb/Breadcrumb.kbd.test.d.ts +0 -2
- package/dist/breadcrumb/Breadcrumb.kbd.test.d.ts.map +0 -1
- package/dist/breadcrumb/Breadcrumb.kbd.test.js +0 -37
- package/dist/breadcrumb/BreadcrumbKbdFixture.svelte +0 -23
- package/dist/breadcrumb/BreadcrumbKbdFixture.svelte.d.ts +0 -19
- package/dist/breadcrumb/BreadcrumbKbdFixture.svelte.d.ts.map +0 -1
- package/dist/button/Button.a11y.test.d.ts +0 -2
- package/dist/button/Button.a11y.test.d.ts.map +0 -1
- package/dist/button/Button.a11y.test.js +0 -49
- package/dist/calendar/Calendar.a11y.test.d.ts +0 -2
- package/dist/calendar/Calendar.a11y.test.d.ts.map +0 -1
- package/dist/calendar/Calendar.a11y.test.js +0 -46
- package/dist/calendar/Calendar.kbd.test.d.ts +0 -2
- package/dist/calendar/Calendar.kbd.test.d.ts.map +0 -1
- package/dist/calendar/Calendar.kbd.test.js +0 -50
- package/dist/calendar/CalendarKbdFixture.svelte +0 -23
- package/dist/calendar/CalendarKbdFixture.svelte.d.ts +0 -19
- package/dist/calendar/CalendarKbdFixture.svelte.d.ts.map +0 -1
- package/dist/card/Card.a11y.test.d.ts +0 -2
- package/dist/card/Card.a11y.test.d.ts.map +0 -1
- package/dist/card/Card.a11y.test.js +0 -35
- package/dist/carousel/Carousel.a11y.test.d.ts +0 -2
- package/dist/carousel/Carousel.a11y.test.d.ts.map +0 -1
- package/dist/carousel/Carousel.a11y.test.js +0 -43
- package/dist/carousel/Carousel.kbd.test.d.ts +0 -2
- package/dist/carousel/Carousel.kbd.test.d.ts.map +0 -1
- package/dist/carousel/Carousel.kbd.test.js +0 -51
- package/dist/carousel/CarouselA11yFixture.svelte +0 -25
- package/dist/carousel/CarouselA11yFixture.svelte.d.ts +0 -8
- package/dist/carousel/CarouselA11yFixture.svelte.d.ts.map +0 -1
- package/dist/carousel/CarouselKbdFixture.svelte +0 -24
- package/dist/carousel/CarouselKbdFixture.svelte.d.ts +0 -19
- package/dist/carousel/CarouselKbdFixture.svelte.d.ts.map +0 -1
- package/dist/cascader/Cascader.a11y.test.d.ts +0 -2
- package/dist/cascader/Cascader.a11y.test.d.ts.map +0 -1
- package/dist/cascader/Cascader.a11y.test.js +0 -55
- package/dist/cascader/Cascader.kbd.test.d.ts +0 -2
- package/dist/cascader/Cascader.kbd.test.d.ts.map +0 -1
- package/dist/cascader/Cascader.kbd.test.js +0 -47
- package/dist/cascader/CascaderKbdFixture.svelte +0 -31
- package/dist/cascader/CascaderKbdFixture.svelte.d.ts +0 -19
- package/dist/cascader/CascaderKbdFixture.svelte.d.ts.map +0 -1
- package/dist/checkbox/CheckboxGroup.a11y.test.d.ts +0 -2
- package/dist/checkbox/CheckboxGroup.a11y.test.d.ts.map +0 -1
- package/dist/checkbox/CheckboxGroup.a11y.test.js +0 -38
- package/dist/checkbox/CheckboxGroup.kbd.test.d.ts +0 -2
- package/dist/checkbox/CheckboxGroup.kbd.test.d.ts.map +0 -1
- package/dist/checkbox/CheckboxGroup.kbd.test.js +0 -33
- package/dist/checkbox/CheckboxGroupKbdFixture.svelte +0 -20
- package/dist/checkbox/CheckboxGroupKbdFixture.svelte.d.ts +0 -19
- package/dist/checkbox/CheckboxGroupKbdFixture.svelte.d.ts.map +0 -1
- package/dist/collapse/Collapse.a11y.test.d.ts +0 -2
- package/dist/collapse/Collapse.a11y.test.d.ts.map +0 -1
- package/dist/collapse/Collapse.a11y.test.js +0 -46
- package/dist/collapse/Collapse.kbd.test.d.ts +0 -2
- package/dist/collapse/Collapse.kbd.test.d.ts.map +0 -1
- package/dist/collapse/Collapse.kbd.test.js +0 -70
- package/dist/collapse/CollapseA11yFixture.svelte +0 -27
- package/dist/collapse/CollapseA11yFixture.svelte.d.ts +0 -9
- package/dist/collapse/CollapseA11yFixture.svelte.d.ts.map +0 -1
- package/dist/collapse/CollapseKbdFixture.svelte +0 -25
- package/dist/collapse/CollapseKbdFixture.svelte.d.ts +0 -19
- package/dist/collapse/CollapseKbdFixture.svelte.d.ts.map +0 -1
- package/dist/color-picker/ColorPicker.a11y.test.d.ts +0 -2
- package/dist/color-picker/ColorPicker.a11y.test.d.ts.map +0 -1
- package/dist/color-picker/ColorPicker.a11y.test.js +0 -54
- package/dist/color-picker/ColorPicker.kbd.test.d.ts +0 -2
- package/dist/color-picker/ColorPicker.kbd.test.d.ts.map +0 -1
- package/dist/color-picker/ColorPicker.kbd.test.js +0 -59
- package/dist/color-picker/ColorPickerKbdFixture.svelte +0 -25
- package/dist/color-picker/ColorPickerKbdFixture.svelte.d.ts +0 -4
- package/dist/color-picker/ColorPickerKbdFixture.svelte.d.ts.map +0 -1
- package/dist/date-picker/DatePicker.a11y.test.d.ts +0 -2
- package/dist/date-picker/DatePicker.a11y.test.d.ts.map +0 -1
- package/dist/date-picker/DatePicker.a11y.test.js +0 -42
- package/dist/date-picker/DatePicker.kbd.test.d.ts +0 -2
- package/dist/date-picker/DatePicker.kbd.test.d.ts.map +0 -1
- package/dist/date-picker/DatePicker.kbd.test.js +0 -59
- package/dist/date-picker/DatePickerKbdFixture.svelte +0 -26
- package/dist/date-picker/DatePickerKbdFixture.svelte.d.ts +0 -4
- package/dist/date-picker/DatePickerKbdFixture.svelte.d.ts.map +0 -1
- package/dist/date-picker/RangePicker.kbd.test.d.ts +0 -2
- package/dist/date-picker/RangePicker.kbd.test.d.ts.map +0 -1
- package/dist/date-picker/RangePicker.kbd.test.js +0 -60
- package/dist/date-picker/RangePickerKbdFixture.svelte +0 -30
- package/dist/date-picker/RangePickerKbdFixture.svelte.d.ts +0 -7
- package/dist/date-picker/RangePickerKbdFixture.svelte.d.ts.map +0 -1
- package/dist/descriptions/Descriptions.a11y.test.d.ts +0 -2
- package/dist/descriptions/Descriptions.a11y.test.d.ts.map +0 -1
- package/dist/descriptions/Descriptions.a11y.test.js +0 -31
- package/dist/divider/Divider.a11y.test.d.ts +0 -2
- package/dist/divider/Divider.a11y.test.d.ts.map +0 -1
- package/dist/divider/Divider.a11y.test.js +0 -21
- package/dist/drawer/Drawer.a11y.test.d.ts +0 -2
- package/dist/drawer/Drawer.a11y.test.d.ts.map +0 -1
- package/dist/drawer/Drawer.a11y.test.js +0 -33
- package/dist/drawer/Drawer.kbd.test.d.ts +0 -2
- package/dist/drawer/Drawer.kbd.test.d.ts.map +0 -1
- package/dist/drawer/Drawer.kbd.test.js +0 -53
- package/dist/drawer/DrawerKbdFixture.svelte +0 -28
- package/dist/drawer/DrawerKbdFixture.svelte.d.ts +0 -4
- package/dist/drawer/DrawerKbdFixture.svelte.d.ts.map +0 -1
- package/dist/dropdown/Dropdown.a11y.test.d.ts +0 -2
- package/dist/dropdown/Dropdown.a11y.test.d.ts.map +0 -1
- package/dist/dropdown/Dropdown.a11y.test.js +0 -39
- package/dist/dropdown/Dropdown.kbd.test.d.ts +0 -2
- package/dist/dropdown/Dropdown.kbd.test.d.ts.map +0 -1
- package/dist/dropdown/Dropdown.kbd.test.js +0 -47
- package/dist/dropdown/DropdownA11yFixture.svelte +0 -24
- package/dist/dropdown/DropdownA11yFixture.svelte.d.ts +0 -11
- package/dist/dropdown/DropdownA11yFixture.svelte.d.ts.map +0 -1
- package/dist/dropdown/DropdownKbdFixture.svelte +0 -26
- package/dist/dropdown/DropdownKbdFixture.svelte.d.ts +0 -19
- package/dist/dropdown/DropdownKbdFixture.svelte.d.ts.map +0 -1
- package/dist/dropdown/types.test.d.ts +0 -2
- package/dist/dropdown/types.test.d.ts.map +0 -1
- package/dist/dropdown/types.test.js +0 -40
- package/dist/empty/Empty.a11y.test.d.ts +0 -2
- package/dist/empty/Empty.a11y.test.d.ts.map +0 -1
- package/dist/empty/Empty.a11y.test.js +0 -22
- package/dist/form/Form.a11y.test.d.ts +0 -2
- package/dist/form/Form.a11y.test.d.ts.map +0 -1
- package/dist/form/Form.a11y.test.js +0 -36
- package/dist/form/FormA11yFixture.svelte +0 -31
- package/dist/form/FormA11yFixture.svelte.d.ts +0 -19
- package/dist/form/FormA11yFixture.svelte.d.ts.map +0 -1
- package/dist/grid/Grid.a11y.test.d.ts +0 -2
- package/dist/grid/Grid.a11y.test.d.ts.map +0 -1
- package/dist/grid/Grid.a11y.test.js +0 -13
- package/dist/grid/GridA11yFixture.svelte +0 -12
- package/dist/grid/GridA11yFixture.svelte.d.ts +0 -19
- package/dist/grid/GridA11yFixture.svelte.d.ts.map +0 -1
- package/dist/highlight/Highlight.a11y.test.d.ts +0 -2
- package/dist/highlight/Highlight.a11y.test.d.ts.map +0 -1
- package/dist/highlight/Highlight.a11y.test.js +0 -23
- package/dist/image/Image.a11y.test.d.ts +0 -2
- package/dist/image/Image.a11y.test.d.ts.map +0 -1
- package/dist/image/Image.a11y.test.js +0 -27
- package/dist/image/ImagePreview.kbd.test.d.ts +0 -2
- package/dist/image/ImagePreview.kbd.test.d.ts.map +0 -1
- package/dist/image/ImagePreview.kbd.test.js +0 -44
- package/dist/image/ImagePreviewKbdFixture.svelte +0 -32
- package/dist/image/ImagePreviewKbdFixture.svelte.d.ts +0 -4
- package/dist/image/ImagePreviewKbdFixture.svelte.d.ts.map +0 -1
- package/dist/input/Input.a11y.test.d.ts +0 -2
- package/dist/input/Input.a11y.test.d.ts.map +0 -1
- package/dist/input/Input.a11y.test.js +0 -53
- package/dist/input-number/InputNumber.a11y.test.d.ts +0 -2
- package/dist/input-number/InputNumber.a11y.test.d.ts.map +0 -1
- package/dist/input-number/InputNumber.a11y.test.js +0 -40
- package/dist/input-number/InputNumber.kbd.test.d.ts +0 -2
- package/dist/input-number/InputNumber.kbd.test.d.ts.map +0 -1
- package/dist/input-number/InputNumber.kbd.test.js +0 -35
- package/dist/input-number/InputNumberKbdFixture.svelte +0 -15
- package/dist/input-number/InputNumberKbdFixture.svelte.d.ts +0 -19
- package/dist/input-number/InputNumberKbdFixture.svelte.d.ts.map +0 -1
- package/dist/layout/Layout.a11y.test.d.ts +0 -2
- package/dist/layout/Layout.a11y.test.d.ts.map +0 -1
- package/dist/layout/Layout.a11y.test.js +0 -32
- package/dist/layout/LayoutA11yFixture.svelte +0 -21
- package/dist/layout/LayoutA11yFixture.svelte.d.ts +0 -7
- package/dist/layout/LayoutA11yFixture.svelte.d.ts.map +0 -1
- package/dist/list/List.a11y.test.d.ts +0 -2
- package/dist/list/List.a11y.test.d.ts.map +0 -1
- package/dist/list/List.a11y.test.js +0 -62
- package/dist/list/List.bench.d.ts +0 -2
- package/dist/list/List.bench.d.ts.map +0 -1
- package/dist/list/List.bench.js +0 -16
- package/dist/list/List.kbd.test.d.ts +0 -2
- package/dist/list/List.kbd.test.d.ts.map +0 -1
- package/dist/list/List.kbd.test.js +0 -60
- package/dist/list/ListA11yFixture.svelte +0 -38
- package/dist/list/ListA11yFixture.svelte.d.ts +0 -10
- package/dist/list/ListA11yFixture.svelte.d.ts.map +0 -1
- package/dist/list/ListBenchFixture.svelte +0 -22
- package/dist/list/ListBenchFixture.svelte.d.ts +0 -7
- package/dist/list/ListBenchFixture.svelte.d.ts.map +0 -1
- package/dist/list/ListKbdFixture.svelte +0 -31
- package/dist/list/ListKbdFixture.svelte.d.ts +0 -19
- package/dist/list/ListKbdFixture.svelte.d.ts.map +0 -1
- package/dist/menu/Menu.a11y.test.d.ts +0 -2
- package/dist/menu/Menu.a11y.test.d.ts.map +0 -1
- package/dist/menu/Menu.a11y.test.js +0 -49
- package/dist/menu/Menu.kbd.test.d.ts +0 -2
- package/dist/menu/Menu.kbd.test.d.ts.map +0 -1
- package/dist/menu/Menu.kbd.test.js +0 -56
- package/dist/menu/MenuKbdFixture.svelte +0 -22
- package/dist/menu/MenuKbdFixture.svelte.d.ts +0 -19
- package/dist/menu/MenuKbdFixture.svelte.d.ts.map +0 -1
- package/dist/meta.test.d.ts +0 -2
- package/dist/meta.test.d.ts.map +0 -1
- package/dist/meta.test.js +0 -164
- package/dist/modal/Modal.a11y.test.d.ts +0 -2
- package/dist/modal/Modal.a11y.test.d.ts.map +0 -1
- package/dist/modal/Modal.a11y.test.js +0 -38
- package/dist/modal/Modal.kbd.test.d.ts +0 -2
- package/dist/modal/Modal.kbd.test.d.ts.map +0 -1
- package/dist/modal/Modal.kbd.test.js +0 -52
- package/dist/modal/ModalKbdFixture.svelte +0 -24
- package/dist/modal/ModalKbdFixture.svelte.d.ts +0 -4
- package/dist/modal/ModalKbdFixture.svelte.d.ts.map +0 -1
- package/dist/notification/NotificationItem.a11y.test.d.ts +0 -2
- package/dist/notification/NotificationItem.a11y.test.d.ts.map +0 -1
- package/dist/notification/NotificationItem.a11y.test.js +0 -64
- package/dist/overflow-list/OverflowList.a11y.test.d.ts +0 -2
- package/dist/overflow-list/OverflowList.a11y.test.d.ts.map +0 -1
- package/dist/overflow-list/OverflowList.a11y.test.js +0 -41
- package/dist/overflow-list/OverflowList.kbd.test.d.ts +0 -2
- package/dist/overflow-list/OverflowList.kbd.test.d.ts.map +0 -1
- package/dist/overflow-list/OverflowList.kbd.test.js +0 -28
- package/dist/overflow-list/OverflowListA11yFixture.svelte +0 -22
- package/dist/overflow-list/OverflowListA11yFixture.svelte.d.ts +0 -8
- package/dist/overflow-list/OverflowListA11yFixture.svelte.d.ts.map +0 -1
- package/dist/overflow-list/OverflowListKbdFixture.svelte +0 -21
- package/dist/overflow-list/OverflowListKbdFixture.svelte.d.ts +0 -19
- package/dist/overflow-list/OverflowListKbdFixture.svelte.d.ts.map +0 -1
- package/dist/pagination/Pagination.a11y.test.d.ts +0 -2
- package/dist/pagination/Pagination.a11y.test.d.ts.map +0 -1
- package/dist/pagination/Pagination.a11y.test.js +0 -57
- package/dist/pagination/Pagination.kbd.test.d.ts +0 -2
- package/dist/pagination/Pagination.kbd.test.d.ts.map +0 -1
- package/dist/pagination/Pagination.kbd.test.js +0 -54
- package/dist/pagination/PaginationKbdFixture.svelte +0 -15
- package/dist/pagination/PaginationKbdFixture.svelte.d.ts +0 -19
- package/dist/pagination/PaginationKbdFixture.svelte.d.ts.map +0 -1
- package/dist/popconfirm/Popconfirm.a11y.test.d.ts +0 -2
- package/dist/popconfirm/Popconfirm.a11y.test.d.ts.map +0 -1
- package/dist/popconfirm/Popconfirm.a11y.test.js +0 -37
- package/dist/popconfirm/Popconfirm.kbd.test.d.ts +0 -2
- package/dist/popconfirm/Popconfirm.kbd.test.d.ts.map +0 -1
- package/dist/popconfirm/Popconfirm.kbd.test.js +0 -36
- package/dist/popconfirm/PopconfirmA11yFixture.svelte +0 -34
- package/dist/popconfirm/PopconfirmA11yFixture.svelte.d.ts +0 -11
- package/dist/popconfirm/PopconfirmA11yFixture.svelte.d.ts.map +0 -1
- package/dist/popconfirm/PopconfirmKbdFixture.svelte +0 -17
- package/dist/popconfirm/PopconfirmKbdFixture.svelte.d.ts +0 -19
- package/dist/popconfirm/PopconfirmKbdFixture.svelte.d.ts.map +0 -1
- package/dist/popover/Popover.a11y.test.d.ts +0 -2
- package/dist/popover/Popover.a11y.test.d.ts.map +0 -1
- package/dist/popover/Popover.a11y.test.js +0 -47
- package/dist/popover/Popover.kbd.test.d.ts +0 -2
- package/dist/popover/Popover.kbd.test.d.ts.map +0 -1
- package/dist/popover/Popover.kbd.test.js +0 -36
- package/dist/popover/PopoverA11yFixture.svelte +0 -35
- package/dist/popover/PopoverA11yFixture.svelte.d.ts +0 -11
- package/dist/popover/PopoverA11yFixture.svelte.d.ts.map +0 -1
- package/dist/popover/PopoverKbdFixture.svelte +0 -18
- package/dist/popover/PopoverKbdFixture.svelte.d.ts +0 -19
- package/dist/popover/PopoverKbdFixture.svelte.d.ts.map +0 -1
- package/dist/progress/Progress.a11y.test.d.ts +0 -2
- package/dist/progress/Progress.a11y.test.d.ts.map +0 -1
- package/dist/progress/Progress.a11y.test.js +0 -34
- package/dist/radio/RadioGroup.a11y.test.d.ts +0 -2
- package/dist/radio/RadioGroup.a11y.test.d.ts.map +0 -1
- package/dist/radio/RadioGroup.a11y.test.js +0 -38
- package/dist/radio/RadioGroup.kbd.test.d.ts +0 -2
- package/dist/radio/RadioGroup.kbd.test.d.ts.map +0 -1
- package/dist/radio/RadioGroup.kbd.test.js +0 -59
- package/dist/radio/RadioGroupKbdFixture.svelte +0 -21
- package/dist/radio/RadioGroupKbdFixture.svelte.d.ts +0 -19
- package/dist/radio/RadioGroupKbdFixture.svelte.d.ts.map +0 -1
- package/dist/rating/Rating.a11y.test.d.ts +0 -2
- package/dist/rating/Rating.a11y.test.d.ts.map +0 -1
- package/dist/rating/Rating.a11y.test.js +0 -38
- package/dist/rating/Rating.kbd.test.d.ts +0 -2
- package/dist/rating/Rating.kbd.test.d.ts.map +0 -1
- package/dist/rating/Rating.kbd.test.js +0 -41
- package/dist/rating/RatingKbdFixture.svelte +0 -15
- package/dist/rating/RatingKbdFixture.svelte.d.ts +0 -19
- package/dist/rating/RatingKbdFixture.svelte.d.ts.map +0 -1
- package/dist/select/Select.a11y.test.d.ts +0 -2
- package/dist/select/Select.a11y.test.d.ts.map +0 -1
- package/dist/select/Select.a11y.test.js +0 -53
- package/dist/select/Select.kbd.test.d.ts +0 -2
- package/dist/select/Select.kbd.test.d.ts.map +0 -1
- package/dist/select/Select.kbd.test.js +0 -47
- package/dist/select/SelectKbdFixture.svelte +0 -29
- package/dist/select/SelectKbdFixture.svelte.d.ts +0 -4
- package/dist/select/SelectKbdFixture.svelte.d.ts.map +0 -1
- package/dist/side-sheet/SideSheet.a11y.test.d.ts +0 -2
- package/dist/side-sheet/SideSheet.a11y.test.d.ts.map +0 -1
- package/dist/side-sheet/SideSheet.a11y.test.js +0 -46
- package/dist/side-sheet/SideSheet.kbd.test.d.ts +0 -2
- package/dist/side-sheet/SideSheet.kbd.test.d.ts.map +0 -1
- package/dist/side-sheet/SideSheet.kbd.test.js +0 -49
- package/dist/side-sheet/SideSheetKbdFixture.svelte +0 -30
- package/dist/side-sheet/SideSheetKbdFixture.svelte.d.ts +0 -4
- package/dist/side-sheet/SideSheetKbdFixture.svelte.d.ts.map +0 -1
- package/dist/skeleton/Skeleton.a11y.test.d.ts +0 -2
- package/dist/skeleton/Skeleton.a11y.test.d.ts.map +0 -1
- package/dist/skeleton/Skeleton.a11y.test.js +0 -32
- package/dist/slider/Slider.a11y.test.d.ts +0 -2
- package/dist/slider/Slider.a11y.test.d.ts.map +0 -1
- package/dist/slider/Slider.a11y.test.js +0 -40
- package/dist/slider/Slider.kbd.test.d.ts +0 -2
- package/dist/slider/Slider.kbd.test.d.ts.map +0 -1
- package/dist/slider/Slider.kbd.test.js +0 -63
- package/dist/slider/SliderKbdFixture.svelte +0 -21
- package/dist/slider/SliderKbdFixture.svelte.d.ts +0 -19
- package/dist/slider/SliderKbdFixture.svelte.d.ts.map +0 -1
- package/dist/space/Space.a11y.test.d.ts +0 -2
- package/dist/space/Space.a11y.test.d.ts.map +0 -1
- package/dist/space/Space.a11y.test.js +0 -20
- package/dist/space/SpaceA11yFixture.svelte +0 -17
- package/dist/space/SpaceA11yFixture.svelte.d.ts +0 -7
- package/dist/space/SpaceA11yFixture.svelte.d.ts.map +0 -1
- package/dist/spin/Spin.a11y.test.d.ts +0 -2
- package/dist/spin/Spin.a11y.test.d.ts.map +0 -1
- package/dist/spin/Spin.a11y.test.js +0 -27
- package/dist/spin/SpinA11yFixture.svelte +0 -18
- package/dist/spin/SpinA11yFixture.svelte.d.ts +0 -7
- package/dist/spin/SpinA11yFixture.svelte.d.ts.map +0 -1
- package/dist/steps/Steps.a11y.test.d.ts +0 -2
- package/dist/steps/Steps.a11y.test.d.ts.map +0 -1
- package/dist/steps/Steps.a11y.test.js +0 -35
- package/dist/steps/Steps.kbd.test.d.ts +0 -2
- package/dist/steps/Steps.kbd.test.d.ts.map +0 -1
- package/dist/steps/Steps.kbd.test.js +0 -59
- package/dist/steps/StepsKbdFixture.svelte +0 -21
- package/dist/steps/StepsKbdFixture.svelte.d.ts +0 -19
- package/dist/steps/StepsKbdFixture.svelte.d.ts.map +0 -1
- package/dist/switch/Switch.a11y.test.d.ts +0 -2
- package/dist/switch/Switch.a11y.test.d.ts.map +0 -1
- package/dist/switch/Switch.a11y.test.js +0 -42
- package/dist/switch/Switch.kbd.test.d.ts +0 -2
- package/dist/switch/Switch.kbd.test.d.ts.map +0 -1
- package/dist/switch/Switch.kbd.test.js +0 -34
- package/dist/switch/SwitchKbdFixture.svelte +0 -22
- package/dist/switch/SwitchKbdFixture.svelte.d.ts +0 -4
- package/dist/switch/SwitchKbdFixture.svelte.d.ts.map +0 -1
- package/dist/table/Table.a11y.test.d.ts +0 -2
- package/dist/table/Table.a11y.test.d.ts.map +0 -1
- package/dist/table/Table.a11y.test.js +0 -59
- package/dist/table/Table.bench.d.ts +0 -2
- package/dist/table/Table.bench.d.ts.map +0 -1
- package/dist/table/Table.bench.js +0 -31
- package/dist/table/Table.kbd.test.d.ts +0 -2
- package/dist/table/Table.kbd.test.d.ts.map +0 -1
- package/dist/table/Table.kbd.test.js +0 -74
- package/dist/table/TableKbdFixture.svelte +0 -35
- package/dist/table/TableKbdFixture.svelte.d.ts +0 -19
- package/dist/table/TableKbdFixture.svelte.d.ts.map +0 -1
- package/dist/table/grid-nav.test.d.ts +0 -2
- package/dist/table/grid-nav.test.d.ts.map +0 -1
- package/dist/table/grid-nav.test.js +0 -133
- package/dist/tabs/Tabs.a11y.test.d.ts +0 -2
- package/dist/tabs/Tabs.a11y.test.d.ts.map +0 -1
- package/dist/tabs/Tabs.a11y.test.js +0 -43
- package/dist/tabs/Tabs.kbd.test.d.ts +0 -2
- package/dist/tabs/Tabs.kbd.test.d.ts.map +0 -1
- package/dist/tabs/Tabs.kbd.test.js +0 -63
- package/dist/tabs/TabsA11yFixture.svelte +0 -20
- package/dist/tabs/TabsA11yFixture.svelte.d.ts +0 -8
- package/dist/tabs/TabsA11yFixture.svelte.d.ts.map +0 -1
- package/dist/tabs/TabsKbdFixture.svelte +0 -25
- package/dist/tabs/TabsKbdFixture.svelte.d.ts +0 -7
- package/dist/tabs/TabsKbdFixture.svelte.d.ts.map +0 -1
- package/dist/tag/Tag.a11y.test.d.ts +0 -2
- package/dist/tag/Tag.a11y.test.d.ts.map +0 -1
- package/dist/tag/Tag.a11y.test.js +0 -30
- package/dist/tag/TagA11yFixture.svelte +0 -18
- package/dist/tag/TagA11yFixture.svelte.d.ts +0 -8
- package/dist/tag/TagA11yFixture.svelte.d.ts.map +0 -1
- package/dist/tag-input/TagInput.a11y.test.d.ts +0 -2
- package/dist/tag-input/TagInput.a11y.test.d.ts.map +0 -1
- package/dist/tag-input/TagInput.a11y.test.js +0 -38
- package/dist/tag-input/reorder.test.d.ts +0 -2
- package/dist/tag-input/reorder.test.d.ts.map +0 -1
- package/dist/tag-input/reorder.test.js +0 -48
- package/dist/test-utils/LocaleHarness.svelte +0 -29
- package/dist/test-utils/LocaleHarness.svelte.d.ts +0 -11
- package/dist/test-utils/LocaleHarness.svelte.d.ts.map +0 -1
- package/dist/test-utils/a11y.d.ts +0 -36
- package/dist/test-utils/a11y.d.ts.map +0 -1
- package/dist/test-utils/a11y.js +0 -68
- package/dist/test-utils/kbd.d.ts +0 -26
- package/dist/test-utils/kbd.d.ts.map +0 -1
- package/dist/test-utils/kbd.js +0 -38
- package/dist/textarea/TextArea.a11y.test.d.ts +0 -2
- package/dist/textarea/TextArea.a11y.test.d.ts.map +0 -1
- package/dist/textarea/TextArea.a11y.test.js +0 -41
- package/dist/time-picker/TimePicker.a11y.test.d.ts +0 -2
- package/dist/time-picker/TimePicker.a11y.test.d.ts.map +0 -1
- package/dist/time-picker/TimePicker.a11y.test.js +0 -42
- package/dist/time-picker/TimePicker.kbd.test.d.ts +0 -2
- package/dist/time-picker/TimePicker.kbd.test.d.ts.map +0 -1
- package/dist/time-picker/TimePicker.kbd.test.js +0 -59
- package/dist/time-picker/TimePickerKbdFixture.svelte +0 -23
- package/dist/time-picker/TimePickerKbdFixture.svelte.d.ts +0 -4
- package/dist/time-picker/TimePickerKbdFixture.svelte.d.ts.map +0 -1
- package/dist/timeline/Timeline.a11y.test.d.ts +0 -2
- package/dist/timeline/Timeline.a11y.test.d.ts.map +0 -1
- package/dist/timeline/Timeline.a11y.test.js +0 -51
- package/dist/toast/Toast.a11y.test.d.ts +0 -2
- package/dist/toast/Toast.a11y.test.d.ts.map +0 -1
- package/dist/toast/Toast.a11y.test.js +0 -58
- package/dist/tooltip/Tooltip.a11y.test.d.ts +0 -2
- package/dist/tooltip/Tooltip.a11y.test.d.ts.map +0 -1
- package/dist/tooltip/Tooltip.a11y.test.js +0 -33
- package/dist/tooltip/Tooltip.kbd.test.d.ts +0 -2
- package/dist/tooltip/Tooltip.kbd.test.d.ts.map +0 -1
- package/dist/tooltip/Tooltip.kbd.test.js +0 -31
- package/dist/tooltip/TooltipA11yFixture.svelte +0 -31
- package/dist/tooltip/TooltipA11yFixture.svelte.d.ts +0 -11
- package/dist/tooltip/TooltipA11yFixture.svelte.d.ts.map +0 -1
- package/dist/tooltip/TooltipKbdFixture.svelte +0 -16
- package/dist/tooltip/TooltipKbdFixture.svelte.d.ts +0 -19
- package/dist/tooltip/TooltipKbdFixture.svelte.d.ts.map +0 -1
- package/dist/transfer/Transfer.a11y.test.d.ts +0 -2
- package/dist/transfer/Transfer.a11y.test.d.ts.map +0 -1
- package/dist/transfer/Transfer.a11y.test.js +0 -59
- package/dist/transfer/Transfer.kbd.test.d.ts +0 -2
- package/dist/transfer/Transfer.kbd.test.d.ts.map +0 -1
- package/dist/transfer/Transfer.kbd.test.js +0 -64
- package/dist/transfer/TransferKbdFixture.svelte +0 -23
- package/dist/transfer/TransferKbdFixture.svelte.d.ts +0 -4
- package/dist/transfer/TransferKbdFixture.svelte.d.ts.map +0 -1
- package/dist/transfer/group.test.d.ts +0 -2
- package/dist/transfer/group.test.d.ts.map +0 -1
- package/dist/transfer/group.test.js +0 -47
- package/dist/transfer/reorder.test.d.ts +0 -2
- package/dist/transfer/reorder.test.d.ts.map +0 -1
- package/dist/transfer/reorder.test.js +0 -42
- package/dist/transfer/tree.test.d.ts +0 -2
- package/dist/transfer/tree.test.d.ts.map +0 -1
- package/dist/transfer/tree.test.js +0 -39
- package/dist/tree/Tree.a11y.test.d.ts +0 -2
- package/dist/tree/Tree.a11y.test.d.ts.map +0 -1
- package/dist/tree/Tree.a11y.test.js +0 -56
- package/dist/tree/Tree.kbd.test.d.ts +0 -2
- package/dist/tree/Tree.kbd.test.d.ts.map +0 -1
- package/dist/tree/Tree.kbd.test.js +0 -78
- package/dist/tree/TreeKbdFixture.svelte +0 -30
- package/dist/tree/TreeKbdFixture.svelte.d.ts +0 -19
- package/dist/tree/TreeKbdFixture.svelte.d.ts.map +0 -1
- package/dist/tree-select/TreeSelect.a11y.test.d.ts +0 -2
- package/dist/tree-select/TreeSelect.a11y.test.d.ts.map +0 -1
- package/dist/tree-select/TreeSelect.a11y.test.js +0 -48
- package/dist/tree-select/TreeSelect.kbd.test.d.ts +0 -2
- package/dist/tree-select/TreeSelect.kbd.test.d.ts.map +0 -1
- package/dist/tree-select/TreeSelect.kbd.test.js +0 -46
- package/dist/tree-select/TreeSelectKbdFixture.svelte +0 -20
- package/dist/tree-select/TreeSelectKbdFixture.svelte.d.ts +0 -19
- package/dist/tree-select/TreeSelectKbdFixture.svelte.d.ts.map +0 -1
- package/dist/tree-select/virtual.test.d.ts +0 -2
- package/dist/tree-select/virtual.test.d.ts.map +0 -1
- package/dist/tree-select/virtual.test.js +0 -86
- package/dist/typography/Typography.a11y.test.d.ts +0 -2
- package/dist/typography/Typography.a11y.test.d.ts.map +0 -1
- package/dist/typography/Typography.a11y.test.js +0 -31
- package/dist/typography/TypographyA11yFixture.svelte +0 -27
- package/dist/typography/TypographyA11yFixture.svelte.d.ts +0 -9
- package/dist/typography/TypographyA11yFixture.svelte.d.ts.map +0 -1
- package/dist/upload/Upload.a11y.test.d.ts +0 -2
- package/dist/upload/Upload.a11y.test.d.ts.map +0 -1
- package/dist/upload/Upload.a11y.test.js +0 -49
- package/dist/upload/UploadA11yFixture.svelte +0 -23
- package/dist/upload/UploadA11yFixture.svelte.d.ts +0 -10
- package/dist/upload/UploadA11yFixture.svelte.d.ts.map +0 -1
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
-
$$bindings?: Bindings;
|
|
4
|
-
} & Exports;
|
|
5
|
-
(internal: unknown, props: {
|
|
6
|
-
$$events?: Events;
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
declare const CarouselKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type CarouselKbdFixture = InstanceType<typeof CarouselKbdFixture>;
|
|
18
|
-
export default CarouselKbdFixture;
|
|
19
|
-
//# sourceMappingURL=CarouselKbdFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/carousel/CarouselKbdFixture.svelte.ts"],"names":[],"mappings":"AAsBA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,kBAAkB;;kBAA+E,CAAC;AACtF,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Cascader.a11y.test.d.ts","sourceRoot":"","sources":["../../src/cascader/Cascader.a11y.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// Cascader a11y:combobox 触发器 + 每列 listbox/option 浮层(use:floating portal 到 body)。
|
|
2
|
-
// 只断言静态 ARIA + axe 0 violations,不测真实键盘/焦点(jsdom 限制)。
|
|
3
|
-
// 打开态面板 portal 到 document.body,故扫描 document.body。
|
|
4
|
-
import { describe, it, expect } from 'vitest';
|
|
5
|
-
import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
|
|
6
|
-
import Cascader from './Cascader.svelte';
|
|
7
|
-
const treeData = [
|
|
8
|
-
{
|
|
9
|
-
label: 'Zhejiang',
|
|
10
|
-
value: 'zj',
|
|
11
|
-
children: [
|
|
12
|
-
{ label: 'Hangzhou', value: 'hz', children: [{ label: 'West Lake', value: 'xh' }] },
|
|
13
|
-
],
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
label: 'Jiangsu',
|
|
17
|
-
value: 'js',
|
|
18
|
-
children: [{ label: 'Nanjing', value: 'nj' }],
|
|
19
|
-
},
|
|
20
|
-
];
|
|
21
|
-
describe('Cascader a11y', () => {
|
|
22
|
-
it('关闭态:触发器 role=combobox / aria-expanded=false,无 axe violations', async () => {
|
|
23
|
-
const { container } = renderWithLocale(Cascader, {
|
|
24
|
-
props: { treeData, ariaLabel: 'Region', placeholder: 'Select region' },
|
|
25
|
-
});
|
|
26
|
-
const combobox = container.querySelector('[role="combobox"]');
|
|
27
|
-
expect(combobox).not.toBeNull();
|
|
28
|
-
expect(combobox?.getAttribute('aria-expanded')).toBe('false');
|
|
29
|
-
expect(combobox?.getAttribute('aria-haspopup')).toBe('listbox');
|
|
30
|
-
expect(combobox?.getAttribute('aria-label')).toBe('Region');
|
|
31
|
-
await expectNoAxeViolations(container);
|
|
32
|
-
});
|
|
33
|
-
// 每列 listbox 经 locale Cascader.columnLabel 获可访问名(「第 N 级选项」)。
|
|
34
|
-
it('打开态:面板列 listbox + option 渲染(portal 到 body),无 axe violations', async () => {
|
|
35
|
-
renderWithLocale(Cascader, {
|
|
36
|
-
props: { treeData, defaultOpen: true, ariaLabel: 'Region' },
|
|
37
|
-
});
|
|
38
|
-
const listbox = document.querySelector('[role="listbox"]');
|
|
39
|
-
expect(listbox).not.toBeNull();
|
|
40
|
-
expect(listbox?.getAttribute('aria-label')).toBeTruthy();
|
|
41
|
-
const optionEls = document.querySelectorAll('[role="option"]');
|
|
42
|
-
expect(optionEls.length).toBeGreaterThan(0);
|
|
43
|
-
await expectNoAxeViolations(document.body);
|
|
44
|
-
});
|
|
45
|
-
it('已选路径:触发器 aria-expanded 切换,选中 option 标记 aria-selected', async () => {
|
|
46
|
-
renderWithLocale(Cascader, {
|
|
47
|
-
props: { treeData, defaultOpen: true, defaultValue: ['zj', 'hz', 'xh'], ariaLabel: 'Region' },
|
|
48
|
-
});
|
|
49
|
-
const combobox = document.querySelector('[role="combobox"]');
|
|
50
|
-
expect(combobox?.getAttribute('aria-expanded')).toBe('true');
|
|
51
|
-
const selected = document.querySelector('[role="option"][aria-selected="true"]');
|
|
52
|
-
expect(selected).not.toBeNull();
|
|
53
|
-
await expectNoAxeViolations(document.body);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Cascader.kbd.test.d.ts","sourceRoot":"","sources":["../../src/cascader/Cascader.kbd.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// Cascader 键盘 e2e(browser project / 真实 chromium),浮层列内方向键 roving。
|
|
2
|
-
// Cascader 高亮走 aria-activedescendant 模型:焦点留在 role=combobox 触发器上
|
|
3
|
-
// (options tabindex=-1,从不真实聚焦),列内高亮由触发器 aria-activedescendant
|
|
4
|
-
// 指向的 option id 表达。故断言 activedescendant 指向的 option 文本变化,而非 toHaveFocus。
|
|
5
|
-
// 浮层经 use:floating portal 到 document.body —— 在 document 范围查列 listbox。
|
|
6
|
-
// 1. 打开后首次 ↓ 进首列首项;再 ↓ 移列内下一项;↑ 回上一项。
|
|
7
|
-
// 2. Home/End 跳列内首/末项。
|
|
8
|
-
import { describe, it, expect } from 'vitest';
|
|
9
|
-
import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
|
|
10
|
-
import CascaderKbdFixture from './CascaderKbdFixture.svelte';
|
|
11
|
-
// 读触发器 aria-activedescendant 指向的 option,断言其 label(剥离展开箭头 ›)。
|
|
12
|
-
function activeOptionText(combobox) {
|
|
13
|
-
const id = combobox.getAttribute('aria-activedescendant');
|
|
14
|
-
if (!id)
|
|
15
|
-
return null;
|
|
16
|
-
const el = document.getElementById(id);
|
|
17
|
-
const label = el?.querySelector('.cd-cascader__option-label');
|
|
18
|
-
return label?.textContent?.trim() ?? null;
|
|
19
|
-
}
|
|
20
|
-
describe('Cascader 键盘 e2e(aria-activedescendant 列内 roving)', () => {
|
|
21
|
-
it('打开后 ↑↓ 列内移高亮 + Home/End 列内首末', async () => {
|
|
22
|
-
renderKbdFixture(CascaderKbdFixture);
|
|
23
|
-
const combobox = document.querySelector('[role="combobox"]');
|
|
24
|
-
expect(combobox).not.toBeNull();
|
|
25
|
-
// 点击触发器打开浮层(焦点留在 combobox)。
|
|
26
|
-
await userEvent.click(combobox);
|
|
27
|
-
const listbox = document.querySelector('.cd-cascader__column[role="listbox"]');
|
|
28
|
-
expect(listbox).not.toBeNull();
|
|
29
|
-
const options = Array.from(listbox.querySelectorAll('[role="option"]'));
|
|
30
|
-
expect(options.length).toBe(3);
|
|
31
|
-
expect(options.every((o) => o.tabIndex === -1)).toBe(true);
|
|
32
|
-
// 1. 首次 ↓ 进首列首项(Zhejiang)。
|
|
33
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
34
|
-
expect(activeOptionText(combobox)).toBe('Zhejiang');
|
|
35
|
-
// 再 ↓ 列内移到第二项(Jiangsu)。
|
|
36
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
37
|
-
expect(activeOptionText(combobox)).toBe('Jiangsu');
|
|
38
|
-
// ↑ 回到第一项(Zhejiang)。
|
|
39
|
-
await userEvent.keyboard('{ArrowUp}');
|
|
40
|
-
expect(activeOptionText(combobox)).toBe('Zhejiang');
|
|
41
|
-
// 2. End 跳列内末项(Fujian);Home 回列内首项(Zhejiang)。
|
|
42
|
-
await userEvent.keyboard('{End}');
|
|
43
|
-
expect(activeOptionText(combobox)).toBe('Fujian');
|
|
44
|
-
await userEvent.keyboard('{Home}');
|
|
45
|
-
expect(activeOptionText(combobox)).toBe('Zhejiang');
|
|
46
|
-
});
|
|
47
|
-
});
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 Cascader.kbd.test.ts(browser project)使用的键盘 e2e 夹具。
|
|
3
|
-
Cascader 浮层 portal 到 document.body;列内高亮走 aria-activedescendant
|
|
4
|
-
(焦点留在 role=combobox 触发器上,方向键移动列内高亮,options tabindex=-1)。
|
|
5
|
-
-->
|
|
6
|
-
<script lang="ts">
|
|
7
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
8
|
-
import Cascader from './Cascader.svelte';
|
|
9
|
-
|
|
10
|
-
const treeData = [
|
|
11
|
-
{
|
|
12
|
-
label: 'Zhejiang',
|
|
13
|
-
value: 'zj',
|
|
14
|
-
children: [{ label: 'Hangzhou', value: 'hz' }],
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
label: 'Jiangsu',
|
|
18
|
-
value: 'js',
|
|
19
|
-
children: [{ label: 'Nanjing', value: 'nj' }],
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
label: 'Fujian',
|
|
23
|
-
value: 'fj',
|
|
24
|
-
children: [{ label: 'Xiamen', value: 'xm' }],
|
|
25
|
-
},
|
|
26
|
-
];
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<LocaleProvider locale="en_US">
|
|
30
|
-
<Cascader {treeData} ariaLabel="Region" placeholder="Select region" />
|
|
31
|
-
</LocaleProvider>
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
-
$$bindings?: Bindings;
|
|
4
|
-
} & Exports;
|
|
5
|
-
(internal: unknown, props: {
|
|
6
|
-
$$events?: Events;
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
declare const CascaderKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type CascaderKbdFixture = InstanceType<typeof CascaderKbdFixture>;
|
|
18
|
-
export default CascaderKbdFixture;
|
|
19
|
-
//# sourceMappingURL=CascaderKbdFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CascaderKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/cascader/CascaderKbdFixture.svelte.ts"],"names":[],"mappings":"AAoCA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,kBAAkB;;kBAA+E,CAAC;AACtF,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroup.a11y.test.d.ts","sourceRoot":"","sources":["../../src/checkbox/CheckboxGroup.a11y.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
// CheckboxGroup a11y:role="group" 容器 + 多个 checkbox 选项(原生 input)。
|
|
2
|
-
// 只断言静态 ARIA + axe 0 violations,不测键盘(jsdom 限制)。
|
|
3
|
-
import { describe, it, expect } from 'vitest';
|
|
4
|
-
import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
|
|
5
|
-
import CheckboxGroup from './CheckboxGroup.svelte';
|
|
6
|
-
const OPTIONS = [
|
|
7
|
-
{ label: 'Read', value: 'read' },
|
|
8
|
-
{ label: 'Write', value: 'write' },
|
|
9
|
-
{ label: 'Delete', value: 'delete', disabled: true },
|
|
10
|
-
];
|
|
11
|
-
describe('CheckboxGroup a11y', () => {
|
|
12
|
-
it('默认:role=group + ariaLabel + 多选项渲染,无 axe violations', async () => {
|
|
13
|
-
const { container } = renderWithLocale(CheckboxGroup, {
|
|
14
|
-
props: { ariaLabel: 'Permissions', options: OPTIONS },
|
|
15
|
-
});
|
|
16
|
-
const group = container.querySelector('[role="group"]');
|
|
17
|
-
expect(group?.getAttribute('aria-label')).toBe('Permissions');
|
|
18
|
-
const boxes = container.querySelectorAll('input[type="checkbox"]');
|
|
19
|
-
expect(boxes.length).toBe(3);
|
|
20
|
-
await expectNoAxeViolations(container);
|
|
21
|
-
});
|
|
22
|
-
it('选中态:value 命中的 checkbox 为 checked', async () => {
|
|
23
|
-
const { container } = renderWithLocale(CheckboxGroup, {
|
|
24
|
-
props: { ariaLabel: 'Permissions', options: OPTIONS, value: ['read', 'write'] },
|
|
25
|
-
});
|
|
26
|
-
const checked = container.querySelectorAll('input[type="checkbox"]:checked');
|
|
27
|
-
expect(checked.length).toBe(2);
|
|
28
|
-
await expectNoAxeViolations(container);
|
|
29
|
-
});
|
|
30
|
-
it('禁用项:对应 checkbox 为 disabled', async () => {
|
|
31
|
-
const { container } = renderWithLocale(CheckboxGroup, {
|
|
32
|
-
props: { ariaLabel: 'Permissions', options: OPTIONS },
|
|
33
|
-
});
|
|
34
|
-
const disabled = container.querySelectorAll('input[type="checkbox"]:disabled');
|
|
35
|
-
expect(disabled.length).toBe(1);
|
|
36
|
-
await expectNoAxeViolations(container);
|
|
37
|
-
});
|
|
38
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroup.kbd.test.d.ts","sourceRoot":"","sources":["../../src/checkbox/CheckboxGroup.kbd.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// CheckboxGroup 键盘 e2e(browser project / 真实 chromium)。
|
|
2
|
-
// 组(role=group)内为原生 <input type=checkbox>(视觉隐藏但 Tab 可达、Space 可切):
|
|
3
|
-
// Tab 从前置按钮进入聚焦首个复选框,Space 切换其 checked(原生语义 → checked 属性)。
|
|
4
|
-
import { describe, it, expect } from 'vitest';
|
|
5
|
-
import { page } from 'vitest/browser';
|
|
6
|
-
import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
|
|
7
|
-
import CheckboxGroupKbdFixture from './CheckboxGroupKbdFixture.svelte';
|
|
8
|
-
function loc(el) {
|
|
9
|
-
return page.elementLocator(el);
|
|
10
|
-
}
|
|
11
|
-
describe('CheckboxGroup 键盘 e2e(Tab 进入 + Space 切换)', () => {
|
|
12
|
-
it('Tab 聚焦首个复选框 + Space 切换 checked', async () => {
|
|
13
|
-
const { baseElement } = renderKbdFixture(CheckboxGroupKbdFixture);
|
|
14
|
-
const group = baseElement.querySelector('[role="group"]');
|
|
15
|
-
expect(group).not.toBeNull();
|
|
16
|
-
const inputs = Array.from(group.querySelectorAll('input[type="checkbox"]'));
|
|
17
|
-
expect(inputs.length).toBe(2);
|
|
18
|
-
const first = inputs[0];
|
|
19
|
-
expect(first.checked).toBe(false);
|
|
20
|
-
// 从前置按钮 Tab 进入 → 焦点落到首个复选框(真实焦点)。
|
|
21
|
-
const before = baseElement.querySelector('[data-testid="before"]');
|
|
22
|
-
before.focus();
|
|
23
|
-
await expect.element(loc(before)).toHaveFocus();
|
|
24
|
-
await userEvent.tab();
|
|
25
|
-
await expect.element(loc(first)).toHaveFocus();
|
|
26
|
-
// Space 切换 checked:未选 → 选中。
|
|
27
|
-
await userEvent.keyboard(' ');
|
|
28
|
-
expect(first.checked).toBe(true);
|
|
29
|
-
// 再次 Space 取消。
|
|
30
|
-
await userEvent.keyboard(' ');
|
|
31
|
-
expect(first.checked).toBe(false);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 CheckboxGroup.kbd.test.ts(browser project)使用的键盘 e2e 夹具。
|
|
3
|
-
CheckboxGroup(role=group)内为原生 <input type=checkbox>(视觉隐藏但可聚焦)。
|
|
4
|
-
Tab 进入聚焦首个 input,Space 切换其 checked 状态。data-testid=before 用于起跳。
|
|
5
|
-
-->
|
|
6
|
-
<script lang="ts">
|
|
7
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
8
|
-
import CheckboxGroup from './CheckboxGroup.svelte';
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
<LocaleProvider locale="en_US">
|
|
12
|
-
<button type="button" data-testid="before">before</button>
|
|
13
|
-
<CheckboxGroup
|
|
14
|
-
options={[
|
|
15
|
-
{ label: 'Apple', value: 'a' },
|
|
16
|
-
{ label: 'Banana', value: 'b' },
|
|
17
|
-
]}
|
|
18
|
-
ariaLabel="Fruits"
|
|
19
|
-
/>
|
|
20
|
-
</LocaleProvider>
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
-
$$bindings?: Bindings;
|
|
4
|
-
} & Exports;
|
|
5
|
-
(internal: unknown, props: {
|
|
6
|
-
$$events?: Events;
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
declare const CheckboxGroupKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type CheckboxGroupKbdFixture = InstanceType<typeof CheckboxGroupKbdFixture>;
|
|
18
|
-
export default CheckboxGroupKbdFixture;
|
|
19
|
-
//# sourceMappingURL=CheckboxGroupKbdFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroupKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/checkbox/CheckboxGroupKbdFixture.svelte.ts"],"names":[],"mappings":"AAsBA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,uBAAuB;;kBAA+E,CAAC;AAC3F,KAAK,uBAAuB,GAAG,YAAY,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC9E,eAAe,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Collapse.a11y.test.d.ts","sourceRoot":"","sources":["../../src/collapse/Collapse.a11y.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// Collapse a11y:折叠面板(APG Accordion)。
|
|
2
|
-
// Header 外层 role=heading + aria-level;触发器为原生 button + aria-expanded;
|
|
3
|
-
// button aria-controls 指向内容 region,region aria-labelledby 指回 header。
|
|
4
|
-
// 用数据驱动夹具(CollapseA11yFixture)渲染真实 region,使 aria-controls 不悬空。
|
|
5
|
-
import { describe, it, expect } from 'vitest';
|
|
6
|
-
import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
|
|
7
|
-
import CollapseFixture from './CollapseA11yFixture.svelte';
|
|
8
|
-
describe('Collapse a11y', () => {
|
|
9
|
-
it('默认渲染:role=heading + button aria-expanded + region 关联,无 axe violations', async () => {
|
|
10
|
-
const { container } = renderWithLocale(CollapseFixture, {});
|
|
11
|
-
// 每个 panel 的 Header 外层为 role=heading + aria-level。
|
|
12
|
-
const headings = container.querySelectorAll('[role="heading"]');
|
|
13
|
-
expect(headings.length).toBe(3);
|
|
14
|
-
expect(headings[0]?.getAttribute('aria-level')).toBe('3');
|
|
15
|
-
// 触发器为原生 button,aria-expanded 标记展开态(默认全收起)。
|
|
16
|
-
const headerBtns = container.querySelectorAll('button.cd-collapse__header');
|
|
17
|
-
expect(headerBtns.length).toBe(3);
|
|
18
|
-
expect(headerBtns[0]?.getAttribute('aria-expanded')).toBe('false');
|
|
19
|
-
// aria-controls 指向真实存在的 region,region aria-labelledby 指回 header。
|
|
20
|
-
const controls = headerBtns[0]?.getAttribute('aria-controls');
|
|
21
|
-
expect(controls).toBeTruthy();
|
|
22
|
-
const region = controls ? container.ownerDocument.getElementById(controls) : null;
|
|
23
|
-
expect(region?.getAttribute('role')).toBe('region');
|
|
24
|
-
expect(region?.getAttribute('aria-labelledby')).toBe(headerBtns[0]?.id);
|
|
25
|
-
await expectNoAxeViolations(container);
|
|
26
|
-
});
|
|
27
|
-
it('defaultActiveKey 展开:对应 header aria-expanded=true,region 非 hidden', async () => {
|
|
28
|
-
const { container } = renderWithLocale(CollapseFixture, {
|
|
29
|
-
props: { defaultActiveKey: 'a' },
|
|
30
|
-
});
|
|
31
|
-
const headerBtns = container.querySelectorAll('button.cd-collapse__header');
|
|
32
|
-
expect(headerBtns[0]?.getAttribute('aria-expanded')).toBe('true');
|
|
33
|
-
const controls = headerBtns[0]?.getAttribute('aria-controls');
|
|
34
|
-
const region = controls ? container.ownerDocument.getElementById(controls) : null;
|
|
35
|
-
expect(region?.hasAttribute('hidden')).toBe(false);
|
|
36
|
-
await expectNoAxeViolations(container);
|
|
37
|
-
});
|
|
38
|
-
it('roving tabindex:仅一个 Header 为 Tab 停靠点(tabindex=0),其余 -1', async () => {
|
|
39
|
-
const { container } = renderWithLocale(CollapseFixture, {});
|
|
40
|
-
const headerBtns = [...container.querySelectorAll('button.cd-collapse__header')];
|
|
41
|
-
const zero = headerBtns.filter((b) => b.getAttribute('tabindex') === '0');
|
|
42
|
-
// 首个未禁用 Header 为停靠点;禁用项(第三个)从 roving 中排除。
|
|
43
|
-
expect(zero.length).toBe(1);
|
|
44
|
-
await expectNoAxeViolations(container);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Collapse.kbd.test.d.ts","sourceRoot":"","sources":["../../src/collapse/Collapse.kbd.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
// Collapse 键盘 e2e(browser project / 真实 chromium)。
|
|
2
|
-
// APG Accordion:Header 组为单一 Tab 停靠点,roving(真实焦点)。
|
|
3
|
-
// 测真实焦点移动 + Enter/Space 展开——jsdom 测不了(命令式 focus() 不可靠):
|
|
4
|
-
// 1. roving 单停靠点:Tab 进入只停在一个 Header(其余 tabindex=-1,默认首个)。
|
|
5
|
-
// 2. ↑↓ 真实移动焦点到相邻 Header(无 wrap:clamp,源码 nextRovingIndex(...,false))。
|
|
6
|
-
// 3. Home/End 跳首/末 Header。
|
|
7
|
-
// 4. Enter / Space 展开当前焦点 Header(aria-expanded=true)。
|
|
8
|
-
//
|
|
9
|
-
// 真实焦点断言用 page locator 的 .toHaveFocus()。
|
|
10
|
-
import { describe, it, expect } from 'vitest';
|
|
11
|
-
import { page } from 'vitest/browser';
|
|
12
|
-
import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
|
|
13
|
-
import CollapseKbdFixture from './CollapseKbdFixture.svelte';
|
|
14
|
-
function loc(el) {
|
|
15
|
-
return page.elementLocator(el);
|
|
16
|
-
}
|
|
17
|
-
describe('Collapse 键盘 e2e(accordion header roving,真实焦点)', () => {
|
|
18
|
-
it('Tab 单停靠点 + ↑↓ 移动焦点(clamp)+ Home/End', async () => {
|
|
19
|
-
const { baseElement } = renderKbdFixture(CollapseKbdFixture);
|
|
20
|
-
const headers = Array.from(baseElement.querySelectorAll('.cd-collapse__header[data-collapse-key]'));
|
|
21
|
-
expect(headers.length).toBe(3);
|
|
22
|
-
const [h1, h2, h3] = headers;
|
|
23
|
-
// 1. roving 单停靠点:默认首个 Header 为 tabindex=0,其余 -1。
|
|
24
|
-
expect(headers.filter((el) => el.tabIndex === 0).length).toBe(1);
|
|
25
|
-
expect(h1.tabIndex).toBe(0);
|
|
26
|
-
const before = baseElement.querySelector('[data-testid="before"]');
|
|
27
|
-
before.focus();
|
|
28
|
-
await expect.element(loc(before)).toHaveFocus();
|
|
29
|
-
await userEvent.tab();
|
|
30
|
-
await expect.element(loc(h1)).toHaveFocus();
|
|
31
|
-
// 2. ↓ 移动焦点到下一 Header(真实焦点 + 停靠点同步)。
|
|
32
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
33
|
-
await expect.element(loc(h2)).toHaveFocus();
|
|
34
|
-
expect(h2.tabIndex).toBe(0);
|
|
35
|
-
expect(h1.tabIndex).toBe(-1);
|
|
36
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
37
|
-
await expect.element(loc(h3)).toHaveFocus();
|
|
38
|
-
// 无 wrap:末项再 ↓ 停在末项(clamp)。
|
|
39
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
40
|
-
await expect.element(loc(h3)).toHaveFocus();
|
|
41
|
-
// ↑ 回退;首项再 ↑ 停在首项(clamp)。
|
|
42
|
-
await userEvent.keyboard('{ArrowUp}');
|
|
43
|
-
await expect.element(loc(h2)).toHaveFocus();
|
|
44
|
-
await userEvent.keyboard('{ArrowUp}');
|
|
45
|
-
await expect.element(loc(h1)).toHaveFocus();
|
|
46
|
-
await userEvent.keyboard('{ArrowUp}');
|
|
47
|
-
await expect.element(loc(h1)).toHaveFocus();
|
|
48
|
-
// 3. Home/End 跳首/末。
|
|
49
|
-
await userEvent.keyboard('{End}');
|
|
50
|
-
await expect.element(loc(h3)).toHaveFocus();
|
|
51
|
-
await userEvent.keyboard('{Home}');
|
|
52
|
-
await expect.element(loc(h1)).toHaveFocus();
|
|
53
|
-
});
|
|
54
|
-
it('Enter / Space 展开当前焦点 Header(aria-expanded)', async () => {
|
|
55
|
-
const { baseElement } = renderKbdFixture(CollapseKbdFixture);
|
|
56
|
-
const headers = Array.from(baseElement.querySelectorAll('.cd-collapse__header[data-collapse-key]'));
|
|
57
|
-
const [h1, h2] = headers;
|
|
58
|
-
h1.focus();
|
|
59
|
-
await expect.element(loc(h1)).toHaveFocus();
|
|
60
|
-
expect(h1.getAttribute('aria-expanded')).toBe('false');
|
|
61
|
-
// Enter 展开当前 Header(原生 button 触发 onclick → toggle)。
|
|
62
|
-
await userEvent.keyboard('{Enter}');
|
|
63
|
-
await expect.element(loc(h1)).toHaveAttribute('aria-expanded', 'true');
|
|
64
|
-
// 移到下一 Header,Space 展开(非 accordion,可同时展开)。
|
|
65
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
66
|
-
await expect.element(loc(h2)).toHaveFocus();
|
|
67
|
-
await userEvent.keyboard(' ');
|
|
68
|
-
await expect.element(loc(h2)).toHaveAttribute('aria-expanded', 'true');
|
|
69
|
-
});
|
|
70
|
-
});
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 Collapse.a11y.test.ts 使用的测试夹具:数据驱动 panels + children Snippet 渲染面板内容,
|
|
3
|
-
使 header button 的 aria-controls 指向真实存在的 region(axe aria-valid-attr-value 通过)。
|
|
4
|
-
-->
|
|
5
|
-
<script lang="ts">
|
|
6
|
-
import { Collapse } from './index.js';
|
|
7
|
-
import type { CollapsePanel } from './types.js';
|
|
8
|
-
|
|
9
|
-
interface Props {
|
|
10
|
-
accordion?: boolean;
|
|
11
|
-
disabled?: boolean;
|
|
12
|
-
defaultActiveKey?: string | string[];
|
|
13
|
-
}
|
|
14
|
-
let { accordion = false, disabled = false, defaultActiveKey = [] }: Props = $props();
|
|
15
|
-
|
|
16
|
-
const panels: CollapsePanel[] = [
|
|
17
|
-
{ key: 'a', header: 'Section A' },
|
|
18
|
-
{ key: 'b', header: 'Section B' },
|
|
19
|
-
{ key: 'c', header: 'Section C', disabled: true },
|
|
20
|
-
];
|
|
21
|
-
</script>
|
|
22
|
-
|
|
23
|
-
<Collapse {panels} {accordion} {disabled} {defaultActiveKey}>
|
|
24
|
-
{#snippet children({ key })}
|
|
25
|
-
<p>Content for {key}</p>
|
|
26
|
-
{/snippet}
|
|
27
|
-
</Collapse>
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
interface Props {
|
|
2
|
-
accordion?: boolean;
|
|
3
|
-
disabled?: boolean;
|
|
4
|
-
defaultActiveKey?: string | string[];
|
|
5
|
-
}
|
|
6
|
-
declare const CollapseA11yFixture: import("svelte").Component<Props, {}, "">;
|
|
7
|
-
type CollapseA11yFixture = ReturnType<typeof CollapseA11yFixture>;
|
|
8
|
-
export default CollapseA11yFixture;
|
|
9
|
-
//# sourceMappingURL=CollapseA11yFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CollapseA11yFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/collapse/CollapseA11yFixture.svelte.ts"],"names":[],"mappings":"AAOE,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACtC;AAuBH,QAAA,MAAM,mBAAmB,2CAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 Collapse.kbd.test.ts(browser project)使用的键盘 e2e 夹具。
|
|
3
|
-
数据驱动 panels;Header 组为单一 Tab 停靠点(roving,真实焦点)。
|
|
4
|
-
前后各放按钮验证 Tab 进入只停靠单个 Header、Tab 出去落到 after。
|
|
5
|
-
-->
|
|
6
|
-
<script lang="ts">
|
|
7
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
8
|
-
import Collapse from './Collapse.svelte';
|
|
9
|
-
|
|
10
|
-
const panels = [
|
|
11
|
-
{ key: 'p1', header: 'Panel One' },
|
|
12
|
-
{ key: 'p2', header: 'Panel Two' },
|
|
13
|
-
{ key: 'p3', header: 'Panel Three' },
|
|
14
|
-
];
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
<LocaleProvider locale="en_US">
|
|
18
|
-
<button type="button" data-testid="before">before</button>
|
|
19
|
-
<Collapse {panels}>
|
|
20
|
-
{#snippet children({ key }: { key: string })}
|
|
21
|
-
<p>content {key}</p>
|
|
22
|
-
{/snippet}
|
|
23
|
-
</Collapse>
|
|
24
|
-
<button type="button" data-testid="after">after</button>
|
|
25
|
-
</LocaleProvider>
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
-
$$bindings?: Bindings;
|
|
4
|
-
} & Exports;
|
|
5
|
-
(internal: unknown, props: {
|
|
6
|
-
$$events?: Events;
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
declare const CollapseKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type CollapseKbdFixture = InstanceType<typeof CollapseKbdFixture>;
|
|
18
|
-
export default CollapseKbdFixture;
|
|
19
|
-
//# sourceMappingURL=CollapseKbdFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CollapseKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/collapse/CollapseKbdFixture.svelte.ts"],"names":[],"mappings":"AA8BA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,kBAAkB;;kBAA+E,CAAC;AACtF,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.a11y.test.d.ts","sourceRoot":"","sources":["../../src/color-picker/ColorPicker.a11y.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
// ColorPicker a11y:inline 面板 role=group;saturation/hue/alpha 滑块 role=slider;
|
|
2
|
-
// presets role=listbox/option;trigger 模式按钮 aria-haspopup/aria-expanded,需 ariaLabel 提供可访问名。
|
|
3
|
-
// 浮层不 portal,渲染在 root 容器内,故扫 container(参照 Modal 但无需扫 body)。
|
|
4
|
-
import { describe, it, expect } from 'vitest';
|
|
5
|
-
import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
|
|
6
|
-
import ColorPicker from './ColorPicker.svelte';
|
|
7
|
-
describe('ColorPicker a11y', () => {
|
|
8
|
-
it('inline:role=group 面板 + 滑块 role=slider + presets listbox/option,无 axe violations', async () => {
|
|
9
|
-
const { container } = renderWithLocale(ColorPicker, {
|
|
10
|
-
props: { inline: true, defaultValue: '#3370ff', alpha: true, presets: ['#ff0000', '#00ff00'] },
|
|
11
|
-
});
|
|
12
|
-
const panel = container.querySelector('[role="group"]');
|
|
13
|
-
expect(panel).not.toBeNull();
|
|
14
|
-
expect(panel?.getAttribute('aria-label')).toBeTruthy();
|
|
15
|
-
// saturation / hue / alpha 三个 slider,均有 aria-label + aria-valuenow。
|
|
16
|
-
const sliders = container.querySelectorAll('[role="slider"]');
|
|
17
|
-
expect(sliders.length).toBeGreaterThanOrEqual(3);
|
|
18
|
-
sliders.forEach((s) => {
|
|
19
|
-
expect(s.getAttribute('aria-label')).toBeTruthy();
|
|
20
|
-
expect(s.getAttribute('aria-valuenow')).not.toBeNull();
|
|
21
|
-
});
|
|
22
|
-
// presets:listbox + option,可访问名/选中态。
|
|
23
|
-
const listbox = container.querySelector('[role="listbox"]');
|
|
24
|
-
expect(listbox).not.toBeNull();
|
|
25
|
-
expect(listbox?.getAttribute('aria-label')).toBeTruthy();
|
|
26
|
-
const options = container.querySelectorAll('[role="option"]');
|
|
27
|
-
expect(options.length).toBe(2);
|
|
28
|
-
expect(options[0]?.getAttribute('aria-label')).toBeTruthy();
|
|
29
|
-
await expectNoAxeViolations(container);
|
|
30
|
-
});
|
|
31
|
-
it('trigger 模式(关闭态):trigger 按钮 aria-haspopup=dialog / aria-expanded=false / ariaLabel 可访问名', async () => {
|
|
32
|
-
const { container } = renderWithLocale(ColorPicker, {
|
|
33
|
-
props: { ariaLabel: 'Pick brand color', defaultValue: '#3370ff' },
|
|
34
|
-
});
|
|
35
|
-
const trigger = container.querySelector('.cd-color-picker__trigger');
|
|
36
|
-
expect(trigger?.getAttribute('aria-haspopup')).toBe('dialog');
|
|
37
|
-
expect(trigger?.getAttribute('aria-expanded')).toBe('false');
|
|
38
|
-
expect(trigger?.getAttribute('aria-label')).toBe('Pick brand color');
|
|
39
|
-
await expectNoAxeViolations(container);
|
|
40
|
-
});
|
|
41
|
-
it('trigger 模式(打开态):role=dialog 面板渲染于容器内,aria-expanded=true,无 axe violations', async () => {
|
|
42
|
-
const { container } = renderWithLocale(ColorPicker, {
|
|
43
|
-
props: { ariaLabel: 'Background color', open: true, defaultValue: '#112233' },
|
|
44
|
-
});
|
|
45
|
-
const trigger = container.querySelector('.cd-color-picker__trigger');
|
|
46
|
-
expect(trigger?.getAttribute('aria-expanded')).toBe('true');
|
|
47
|
-
// 浮层非 portal:直接在 root 容器内查询。
|
|
48
|
-
const dialog = container.querySelector('[role="dialog"]');
|
|
49
|
-
expect(dialog).not.toBeNull();
|
|
50
|
-
expect(dialog?.getAttribute('aria-label')).toBe('Background color');
|
|
51
|
-
expect(container.querySelectorAll('[role="slider"]').length).toBeGreaterThanOrEqual(2);
|
|
52
|
-
await expectNoAxeViolations(container);
|
|
53
|
-
});
|
|
54
|
-
});
|