@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,21 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 OverflowList.kbd.test.ts(browser project)使用的键盘 e2e 夹具。
|
|
3
|
-
mode='scroll':不折叠,可见层(.cd-overflow-list__visible)成为可滚动容器,
|
|
4
|
-
设 tabindex=0 + role=group + aria-label,键盘用户可聚焦后用方向键滚动(WCAG 2.1.1)。
|
|
5
|
-
data-testid=before 用于 Tab 起跳。
|
|
6
|
-
-->
|
|
7
|
-
<script lang="ts">
|
|
8
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
9
|
-
import OverflowList from './OverflowList.svelte';
|
|
10
|
-
|
|
11
|
-
const items = ['One', 'Two', 'Three', 'Four', 'Five', 'Six'];
|
|
12
|
-
</script>
|
|
13
|
-
|
|
14
|
-
<LocaleProvider locale="en_US">
|
|
15
|
-
<button type="button" data-testid="before">before</button>
|
|
16
|
-
<OverflowList {items} mode="scroll" ariaLabel="Tags">
|
|
17
|
-
{#snippet item({ item }: { item: string; index: number })}
|
|
18
|
-
<span>{item}</span>
|
|
19
|
-
{/snippet}
|
|
20
|
-
</OverflowList>
|
|
21
|
-
</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 OverflowListKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type OverflowListKbdFixture = InstanceType<typeof OverflowListKbdFixture>;
|
|
18
|
-
export default OverflowListKbdFixture;
|
|
19
|
-
//# sourceMappingURL=OverflowListKbdFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OverflowListKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/overflow-list/OverflowListKbdFixture.svelte.ts"],"names":[],"mappings":"AAyBA,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,sBAAsB;;kBAA+E,CAAC;AAC1F,KAAK,sBAAsB,GAAG,YAAY,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,eAAe,sBAAsB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.a11y.test.d.ts","sourceRoot":"","sources":["../../src/pagination/Pagination.a11y.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
// Pagination a11y:分页器。
|
|
2
|
-
// nav[aria-label] 包裹,页码为原生 button,当前页 aria-current=page。
|
|
3
|
-
//
|
|
4
|
-
// 修复记录:
|
|
5
|
-
// 1. showSizeChanger 内置 Select 现经 ariaLabel=Pagination.itemsPerPage 获可访问名。
|
|
6
|
-
// 2. showQuickJumper 跳页 Input 现经 ariaLabel=Pagination.jumpTo 获可访问名。
|
|
7
|
-
// 两处 axe aria-input-field-name / label 均消除。
|
|
8
|
-
import { describe, it, expect } from 'vitest';
|
|
9
|
-
import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
|
|
10
|
-
import Pagination from './Pagination.svelte';
|
|
11
|
-
describe('Pagination a11y', () => {
|
|
12
|
-
it('默认渲染:nav landmark + 可访问名,无 axe violations', async () => {
|
|
13
|
-
const { container } = renderWithLocale(Pagination, {
|
|
14
|
-
props: { total: 100, defaultPageSize: 10 },
|
|
15
|
-
});
|
|
16
|
-
const nav = container.querySelector('nav');
|
|
17
|
-
expect(nav).not.toBeNull();
|
|
18
|
-
// ariaLabel 缺省时来自 locale,应非空
|
|
19
|
-
expect(nav?.getAttribute('aria-label')).toBeTruthy();
|
|
20
|
-
await expectNoAxeViolations(container);
|
|
21
|
-
});
|
|
22
|
-
it('当前页 aria-current=page,无 axe violations', async () => {
|
|
23
|
-
const { container } = renderWithLocale(Pagination, {
|
|
24
|
-
props: { total: 100, defaultPageSize: 10, defaultCurrentPage: 3 },
|
|
25
|
-
});
|
|
26
|
-
const current = container.querySelector('[aria-current="page"]');
|
|
27
|
-
expect(current).not.toBeNull();
|
|
28
|
-
expect(current?.textContent?.trim()).toContain('3');
|
|
29
|
-
await expectNoAxeViolations(container);
|
|
30
|
-
});
|
|
31
|
-
it('自定义 ariaLabel + showTotal,无 axe violations', async () => {
|
|
32
|
-
const { container } = renderWithLocale(Pagination, {
|
|
33
|
-
props: {
|
|
34
|
-
total: 200,
|
|
35
|
-
defaultPageSize: 20,
|
|
36
|
-
ariaLabel: 'Results pagination',
|
|
37
|
-
showTotal: true,
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
expect(container.querySelector('nav')?.getAttribute('aria-label')).toBe('Results pagination');
|
|
41
|
-
await expectNoAxeViolations(container);
|
|
42
|
-
});
|
|
43
|
-
// 内置 Select 经 ariaLabel=Pagination.itemsPerPage 获可访问名。
|
|
44
|
-
it('showSizeChanger axe 0 violations(内置 Select 有 aria-label)', async () => {
|
|
45
|
-
const { container } = renderWithLocale(Pagination, {
|
|
46
|
-
props: { total: 200, defaultPageSize: 20, showSizeChanger: true },
|
|
47
|
-
});
|
|
48
|
-
await expectNoAxeViolations(container);
|
|
49
|
-
});
|
|
50
|
-
// 跳页 input 经 ariaLabel=Pagination.jumpTo 获可访问名。
|
|
51
|
-
it('showQuickJumper axe 0 violations(跳页 input 有 aria-label)', async () => {
|
|
52
|
-
const { container } = renderWithLocale(Pagination, {
|
|
53
|
-
props: { total: 200, defaultPageSize: 20, showQuickJumper: true },
|
|
54
|
-
});
|
|
55
|
-
await expectNoAxeViolations(container);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.kbd.test.d.ts","sourceRoot":"","sources":["../../src/pagination/Pagination.kbd.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
// Pagination 键盘 e2e(browser project / 真实 chromium)。
|
|
2
|
-
// 页码按钮组 roving(真实焦点):方向键移动焦点但不切页(切页交给 Enter/Space → click)。
|
|
3
|
-
// 测真实焦点移动——jsdom 测不了(命令式 focus() 不可靠):
|
|
4
|
-
// 1. roving 单停靠点:页码组只有当前页 tabindex=0(默认 current=1),其余 -1。
|
|
5
|
-
// 2. ←→/↑↓ 真实移动焦点到相邻页码,但 current/aria-current 不变(仅移动焦点)。
|
|
6
|
-
// 3. 无 wrap:末页再 → clamp 在末页;首页再 ← clamp 在首页。
|
|
7
|
-
//
|
|
8
|
-
// 真实焦点断言用 page locator 的 .toHaveFocus()。
|
|
9
|
-
import { describe, it, expect } from 'vitest';
|
|
10
|
-
import { page } from 'vitest/browser';
|
|
11
|
-
import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
|
|
12
|
-
import PaginationKbdFixture from './PaginationKbdFixture.svelte';
|
|
13
|
-
function loc(el) {
|
|
14
|
-
return page.elementLocator(el);
|
|
15
|
-
}
|
|
16
|
-
describe('Pagination 键盘 e2e(页码 roving,真实焦点,移动≠切页)', () => {
|
|
17
|
-
it('roving 单停靠点 + 方向键移动焦点不切页(clamp)', async () => {
|
|
18
|
-
const { baseElement } = renderKbdFixture(PaginationKbdFixture);
|
|
19
|
-
const pages = Array.from(baseElement.querySelectorAll('.cd-pagination__page[data-page]'));
|
|
20
|
-
expect(pages.length).toBe(3);
|
|
21
|
-
const [p1, p2, p3] = pages;
|
|
22
|
-
// 1. roving 单停靠点:当前页(1)tabindex=0,其余 -1。
|
|
23
|
-
expect(pages.filter((el) => el.tabIndex === 0).length).toBe(1);
|
|
24
|
-
expect(p1.tabIndex).toBe(0);
|
|
25
|
-
expect(p1.getAttribute('aria-current')).toBe('page');
|
|
26
|
-
p1.focus();
|
|
27
|
-
await expect.element(loc(p1)).toHaveFocus();
|
|
28
|
-
// 2. → 移动焦点到下一页码,但不切页(aria-current 仍在第 1 页)。
|
|
29
|
-
await userEvent.keyboard('{ArrowRight}');
|
|
30
|
-
await expect.element(loc(p2)).toHaveFocus();
|
|
31
|
-
expect(p2.tabIndex).toBe(0);
|
|
32
|
-
expect(p1.tabIndex).toBe(-1);
|
|
33
|
-
// 移动焦点 ≠ 切页:current 仍为 1。
|
|
34
|
-
expect(p1.getAttribute('aria-current')).toBe('page');
|
|
35
|
-
expect(p2.getAttribute('aria-current')).toBe(null);
|
|
36
|
-
await userEvent.keyboard('{ArrowRight}');
|
|
37
|
-
await expect.element(loc(p3)).toHaveFocus();
|
|
38
|
-
// 无 wrap:末页再 → 停在末页(clamp)。
|
|
39
|
-
await userEvent.keyboard('{ArrowRight}');
|
|
40
|
-
await expect.element(loc(p3)).toHaveFocus();
|
|
41
|
-
// ← 回退;首页再 ← 停在首页(clamp)。
|
|
42
|
-
await userEvent.keyboard('{ArrowLeft}');
|
|
43
|
-
await expect.element(loc(p2)).toHaveFocus();
|
|
44
|
-
await userEvent.keyboard('{ArrowLeft}');
|
|
45
|
-
await expect.element(loc(p1)).toHaveFocus();
|
|
46
|
-
await userEvent.keyboard('{ArrowLeft}');
|
|
47
|
-
await expect.element(loc(p1)).toHaveFocus();
|
|
48
|
-
// Home/End 跳首/末页码。
|
|
49
|
-
await userEvent.keyboard('{End}');
|
|
50
|
-
await expect.element(loc(p3)).toHaveFocus();
|
|
51
|
-
await userEvent.keyboard('{Home}');
|
|
52
|
-
await expect.element(loc(p1)).toHaveFocus();
|
|
53
|
-
});
|
|
54
|
-
});
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 Pagination.kbd.test.ts(browser project)使用的键盘 e2e 夹具。
|
|
3
|
-
total=30 / pageSize=10 → 3 个页码按钮(无省略号),页码组 roving(真实焦点)。
|
|
4
|
-
前后各放按钮验证 Tab 进入只停靠单个页码、Tab 出去落到 after。
|
|
5
|
-
-->
|
|
6
|
-
<script lang="ts">
|
|
7
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
8
|
-
import Pagination from './Pagination.svelte';
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
<LocaleProvider locale="en_US">
|
|
12
|
-
<button type="button" data-testid="before">before</button>
|
|
13
|
-
<Pagination total={30} defaultCurrentPage={1} pageSize={10} />
|
|
14
|
-
<button type="button" data-testid="after">after</button>
|
|
15
|
-
</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 PaginationKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type PaginationKbdFixture = InstanceType<typeof PaginationKbdFixture>;
|
|
18
|
-
export default PaginationKbdFixture;
|
|
19
|
-
//# sourceMappingURL=PaginationKbdFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/pagination/PaginationKbdFixture.svelte.ts"],"names":[],"mappings":"AAoBA,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,oBAAoB;;kBAA+E,CAAC;AACxF,KAAK,oBAAoB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACxE,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Popconfirm.a11y.test.d.ts","sourceRoot":"","sources":["../../src/popconfirm/Popconfirm.a11y.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// Popconfirm a11y:气泡确认浮层。受控 open 强制打开(jsdom 触发不了真实点击/focus-trap)。
|
|
2
|
-
// - 浮层 portal 到 body,role=dialog,aria-labelledby 指向 title,aria-describedby 指向 content。
|
|
3
|
-
// - 触发器承载 role=button + aria-haspopup=dialog + aria-expanded/controls。
|
|
4
|
-
// 浮层在 document.body —— 参照 Modal.a11y.test.ts 全局查询并扫 document.body。
|
|
5
|
-
import { describe, it, expect } from 'vitest';
|
|
6
|
-
import { render } from '@testing-library/svelte';
|
|
7
|
-
import { expectNoAxeViolations } from '../test-utils/a11y.js';
|
|
8
|
-
import Fixture from './PopconfirmA11yFixture.svelte';
|
|
9
|
-
describe('Popconfirm a11y', () => {
|
|
10
|
-
it('open:浮层 role=dialog + aria-labelledby/describedby,无 axe violations', async () => {
|
|
11
|
-
render(Fixture, { props: { open: true } });
|
|
12
|
-
const dialog = document.querySelector('[role="dialog"]');
|
|
13
|
-
expect(dialog).not.toBeNull();
|
|
14
|
-
const labelledby = dialog?.getAttribute('aria-labelledby');
|
|
15
|
-
expect(labelledby).toBeTruthy();
|
|
16
|
-
expect(labelledby ? document.getElementById(labelledby)?.textContent : '').toContain('Delete this item?');
|
|
17
|
-
const describedby = dialog?.getAttribute('aria-describedby');
|
|
18
|
-
expect(describedby ? document.getElementById(describedby)?.textContent : '').toContain('cannot be undone');
|
|
19
|
-
// 确认/取消按钮文案来自 locale(验证 LocaleProvider 管线)。
|
|
20
|
-
const buttons = dialog?.querySelectorAll('button');
|
|
21
|
-
expect(buttons?.length).toBeGreaterThanOrEqual(2);
|
|
22
|
-
await expectNoAxeViolations(document.body);
|
|
23
|
-
});
|
|
24
|
-
it('触发器声明 disclosure 语义:role=button + aria-haspopup=dialog + aria-expanded', async () => {
|
|
25
|
-
render(Fixture, { props: { open: true } });
|
|
26
|
-
const trigger = document.querySelector('.cd-popconfirm__trigger');
|
|
27
|
-
expect(trigger?.getAttribute('role')).toBe('button');
|
|
28
|
-
expect(trigger?.getAttribute('aria-haspopup')).toBe('dialog');
|
|
29
|
-
expect(trigger?.getAttribute('aria-expanded')).toBe('true');
|
|
30
|
-
await expectNoAxeViolations(document.body);
|
|
31
|
-
});
|
|
32
|
-
it('收起态:无浮层 dialog,无 axe violations', async () => {
|
|
33
|
-
const { container } = render(Fixture, { props: { open: false } });
|
|
34
|
-
expect(document.querySelector('.cd-popconfirm__popup[role="dialog"]')).toBeNull();
|
|
35
|
-
await expectNoAxeViolations(container);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Popconfirm.kbd.test.d.ts","sourceRoot":"","sources":["../../src/popconfirm/Popconfirm.kbd.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
// Popconfirm 键盘 e2e(browser project / 真实 chromium)。
|
|
2
|
-
// click 触发:触发器 div 承载 role=button + tabindex=0,Enter 打开浮层(dialog)。
|
|
3
|
-
// 打开后 useFocusTrap 把焦点移入浮层,Esc(useDismiss escape)关闭并归还焦点到触发器。
|
|
4
|
-
// jsdom 测不了真实焦点移入/归还,故真浏览器断 .toHaveFocus()。
|
|
5
|
-
// 1. 聚焦触发器并 Enter 打开 → 焦点进入浮层(含取消/确认按钮)。
|
|
6
|
-
// 2. Esc 关闭 → 焦点归还触发器。
|
|
7
|
-
import { describe, it, expect } from 'vitest';
|
|
8
|
-
import { page } from 'vitest/browser';
|
|
9
|
-
import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
|
|
10
|
-
import PopconfirmKbdFixture from './PopconfirmKbdFixture.svelte';
|
|
11
|
-
function loc(el) {
|
|
12
|
-
return page.elementLocator(el);
|
|
13
|
-
}
|
|
14
|
-
describe('Popconfirm 键盘 e2e(浮层焦点 + Esc 归还)', () => {
|
|
15
|
-
it('Enter 打开焦点进浮层;Esc 关闭归还触发器', async () => {
|
|
16
|
-
const { baseElement } = renderKbdFixture(PopconfirmKbdFixture);
|
|
17
|
-
const trigger = baseElement.querySelector('.cd-popconfirm__trigger');
|
|
18
|
-
expect(trigger).not.toBeNull();
|
|
19
|
-
expect(trigger.getAttribute('role')).toBe('button');
|
|
20
|
-
// 1. 聚焦触发器,Enter 打开(onTriggerKeydown)。
|
|
21
|
-
trigger.focus();
|
|
22
|
-
await expect.element(loc(trigger)).toHaveFocus();
|
|
23
|
-
await userEvent.keyboard('{Enter}');
|
|
24
|
-
// 浮层 portal 到 body:查 role=dialog。
|
|
25
|
-
const dialog = document.querySelector('[role="dialog"]');
|
|
26
|
-
expect(dialog).not.toBeNull();
|
|
27
|
-
// 焦点进入浮层(focus trap activate;落在首个可聚焦项 = 取消按钮)。
|
|
28
|
-
await expect.poll(() => dialog.contains(document.activeElement)).toBe(true);
|
|
29
|
-
// 浮层内含确认/取消按钮(多个可聚焦点)。
|
|
30
|
-
expect(dialog.querySelectorAll('button').length).toBeGreaterThanOrEqual(2);
|
|
31
|
-
// 2. Esc 关闭,焦点归还触发器(focus trap deactivate returnFocus + useDismiss escape)。
|
|
32
|
-
await userEvent.keyboard('{Escape}');
|
|
33
|
-
await expect.element(loc(trigger)).toHaveFocus();
|
|
34
|
-
expect(trigger.getAttribute('aria-expanded')).toBe('false');
|
|
35
|
-
});
|
|
36
|
-
});
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Popconfirm a11y 测试夹具:在 LocaleProvider 内渲染 Popconfirm。
|
|
3
|
-
trigger snippet 仅为非交互触发文案——触发包裹 div 自身承载 role=button + tabindex,
|
|
4
|
-
故 trigger 内不嵌套原生交互元素(否则 axe nested-interactive)。
|
|
5
|
-
仅供 Popconfirm.a11y.test.ts 使用,不对外导出。
|
|
6
|
-
-->
|
|
7
|
-
<script lang="ts">
|
|
8
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
9
|
-
import Popconfirm from './Popconfirm.svelte';
|
|
10
|
-
|
|
11
|
-
interface Props {
|
|
12
|
-
open?: boolean;
|
|
13
|
-
title?: string;
|
|
14
|
-
content?: string;
|
|
15
|
-
type?: 'default' | 'danger' | 'warning';
|
|
16
|
-
locale?: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
let {
|
|
20
|
-
open = false,
|
|
21
|
-
title = 'Delete this item?',
|
|
22
|
-
content = 'This action cannot be undone.',
|
|
23
|
-
type = 'default',
|
|
24
|
-
locale = 'en_US',
|
|
25
|
-
}: Props = $props();
|
|
26
|
-
</script>
|
|
27
|
-
|
|
28
|
-
<LocaleProvider {locale}>
|
|
29
|
-
<Popconfirm {open} {title} {content} {type}>
|
|
30
|
-
{#snippet trigger()}
|
|
31
|
-
Delete
|
|
32
|
-
{/snippet}
|
|
33
|
-
</Popconfirm>
|
|
34
|
-
</LocaleProvider>
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
interface Props {
|
|
2
|
-
open?: boolean;
|
|
3
|
-
title?: string;
|
|
4
|
-
content?: string;
|
|
5
|
-
type?: 'default' | 'danger' | 'warning';
|
|
6
|
-
locale?: string;
|
|
7
|
-
}
|
|
8
|
-
declare const PopconfirmA11yFixture: import("svelte").Component<Props, {}, "">;
|
|
9
|
-
type PopconfirmA11yFixture = ReturnType<typeof PopconfirmA11yFixture>;
|
|
10
|
-
export default PopconfirmA11yFixture;
|
|
11
|
-
//# sourceMappingURL=PopconfirmA11yFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PopconfirmA11yFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/popconfirm/PopconfirmA11yFixture.svelte.ts"],"names":[],"mappings":"AAOE,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwBH,QAAA,MAAM,qBAAqB,2CAAwC,CAAC;AACpE,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACtE,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 Popconfirm.kbd.test.ts(browser project)使用的浮层焦点 + Esc 归还 e2e 夹具。
|
|
3
|
-
triggerType='click'(默认):触发器 div 承载 role=button + tabindex=0,点击/Enter 打开浮层
|
|
4
|
-
(dialog,焦点陷阱移入),Esc 关闭并归还焦点到触发器。浮层默认含取消/确认两个按钮。
|
|
5
|
-
-->
|
|
6
|
-
<script lang="ts">
|
|
7
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
8
|
-
import Popconfirm from './Popconfirm.svelte';
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
<LocaleProvider locale="en_US">
|
|
12
|
-
<Popconfirm title="Delete this item?" content="This cannot be undone.">
|
|
13
|
-
{#snippet trigger()}
|
|
14
|
-
Delete
|
|
15
|
-
{/snippet}
|
|
16
|
-
</Popconfirm>
|
|
17
|
-
</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 PopconfirmKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type PopconfirmKbdFixture = InstanceType<typeof PopconfirmKbdFixture>;
|
|
18
|
-
export default PopconfirmKbdFixture;
|
|
19
|
-
//# sourceMappingURL=PopconfirmKbdFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PopconfirmKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/popconfirm/PopconfirmKbdFixture.svelte.ts"],"names":[],"mappings":"AAoBA,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,oBAAoB;;kBAA+E,CAAC;AACxF,KAAK,oBAAoB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACxE,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.a11y.test.d.ts","sourceRoot":"","sources":["../../src/popover/Popover.a11y.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// Popover a11y:
|
|
2
|
-
// - hover/focus 触发 → 浮层 role=tooltip,触发器 aria-describedby 关联浮层(span 上合法)。
|
|
3
|
-
// - click/custom 触发 → 浮层 role=dialog,触发器 <span> 承载 role=button + aria-haspopup/expanded/controls。
|
|
4
|
-
// 浮层经 use:floating portal 到 document.body —— 参照 Modal.a11y.test.ts 全局查询。
|
|
5
|
-
// jsdom 触发不了真实 hover/click,故用受控 open 强制打开再断言静态 ARIA。
|
|
6
|
-
// PopoverA11yFixture 提供非交互触发文案 children(自带 LocaleProvider,故直接 render)。
|
|
7
|
-
//
|
|
8
|
-
// a11y 修复(原 axe [aria-allowed-attr] 已消除):dialog 模式触发包裹 span 现承载
|
|
9
|
-
// role=button + tabindex=0 + Enter/Space 激活(对齐 Dropdown),aria-haspopup/expanded/
|
|
10
|
-
// controls 挂在合法 button 宿主上。tooltip 模式仍为纯 span + aria-describedby(合法)。
|
|
11
|
-
import { describe, it, expect } from 'vitest';
|
|
12
|
-
import { render } from '@testing-library/svelte';
|
|
13
|
-
import { expectNoAxeViolations } from '../test-utils/a11y.js';
|
|
14
|
-
import Fixture from './PopoverA11yFixture.svelte';
|
|
15
|
-
describe('Popover a11y', () => {
|
|
16
|
-
it('hover 触发 + open:浮层 role=tooltip + 触发器 aria-describedby 指向浮层,无 axe violations', async () => {
|
|
17
|
-
render(Fixture, { props: { open: true, content: 'Quick hint', trigger: 'hover' } });
|
|
18
|
-
const pop = document.querySelector('.cd-popover__pop');
|
|
19
|
-
expect(pop?.getAttribute('role')).toBe('tooltip');
|
|
20
|
-
const trigger = document.querySelector('.cd-popover__trigger');
|
|
21
|
-
const describedby = trigger?.getAttribute('aria-describedby');
|
|
22
|
-
expect(describedby).toBeTruthy();
|
|
23
|
-
expect(describedby).toBe(pop?.id);
|
|
24
|
-
await expectNoAxeViolations(document.body);
|
|
25
|
-
});
|
|
26
|
-
it('hover 触发 + 收起:无浮层,无 axe violations', async () => {
|
|
27
|
-
const { container } = render(Fixture, { props: { open: false, trigger: 'hover' } });
|
|
28
|
-
expect(document.querySelector('.cd-popover__pop[role="tooltip"]')).toBeNull();
|
|
29
|
-
await expectNoAxeViolations(container);
|
|
30
|
-
});
|
|
31
|
-
it('open + title:role=dialog / aria-modal=false / aria-labelledby(触发器 role=button 修复后)', async () => {
|
|
32
|
-
render(Fixture, { props: { open: true, title: 'Confirm', content: 'Are you sure?', trigger: 'click' } });
|
|
33
|
-
const dialog = document.querySelector('[role="dialog"]');
|
|
34
|
-
expect(dialog?.getAttribute('aria-modal')).toBe('false');
|
|
35
|
-
const labelledby = dialog?.getAttribute('aria-labelledby');
|
|
36
|
-
expect(labelledby).toBeTruthy();
|
|
37
|
-
expect(labelledby ? document.getElementById(labelledby)?.textContent : '').toContain('Confirm');
|
|
38
|
-
await expectNoAxeViolations(document.body);
|
|
39
|
-
});
|
|
40
|
-
it('open 无 title:role=dialog 用 aria-label 兜底(触发器 role=button 修复后)', async () => {
|
|
41
|
-
render(Fixture, { props: { open: true, content: 'No title here', trigger: 'click' } });
|
|
42
|
-
const dialog = document.querySelector('[role="dialog"]');
|
|
43
|
-
expect(dialog?.getAttribute('aria-labelledby')).toBeNull();
|
|
44
|
-
expect(dialog?.getAttribute('aria-label')).toBeTruthy();
|
|
45
|
-
await expectNoAxeViolations(document.body);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.kbd.test.d.ts","sourceRoot":"","sources":["../../src/popover/Popover.kbd.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
// Popover 键盘 e2e(browser project / 真实 chromium),dialog(click)模式。
|
|
2
|
-
// click 触发:触发器 span 承载 role=button + tabindex=0,trapFocus 默认随 click。
|
|
3
|
-
// 打开后焦点进入浮层(useFocusTrap),Esc(useDismiss escape)关闭并把焦点归还触发器。
|
|
4
|
-
// jsdom 测不了真实焦点进入/归还,故这里在真浏览器断 .toHaveFocus()。
|
|
5
|
-
// 1. 聚焦触发器并 Enter 打开 → 焦点进入浮层(dialog)。
|
|
6
|
-
// 2. Esc 关闭 → 焦点归还触发器。
|
|
7
|
-
import { describe, it, expect } from 'vitest';
|
|
8
|
-
import { page } from 'vitest/browser';
|
|
9
|
-
import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
|
|
10
|
-
import PopoverKbdFixture from './PopoverKbdFixture.svelte';
|
|
11
|
-
function loc(el) {
|
|
12
|
-
return page.elementLocator(el);
|
|
13
|
-
}
|
|
14
|
-
describe('Popover 键盘 e2e(dialog Esc 关闭 + 焦点归还)', () => {
|
|
15
|
-
it('Enter 打开焦点进浮层;Esc 关闭归还触发器', async () => {
|
|
16
|
-
const { baseElement } = renderKbdFixture(PopoverKbdFixture);
|
|
17
|
-
// dialog 模式触发器 = role=button + tabindex=0 的 span。
|
|
18
|
-
const trigger = baseElement.querySelector('.cd-popover__trigger');
|
|
19
|
-
expect(trigger).not.toBeNull();
|
|
20
|
-
expect(trigger.getAttribute('role')).toBe('button');
|
|
21
|
-
// 1. 聚焦触发器,Enter 打开(onTriggerKeydown)。
|
|
22
|
-
trigger.focus();
|
|
23
|
-
await expect.element(loc(trigger)).toHaveFocus();
|
|
24
|
-
await userEvent.keyboard('{Enter}');
|
|
25
|
-
// 浮层 portal 到 body:查 role=dialog。
|
|
26
|
-
const dialog = document.querySelector('[role="dialog"]');
|
|
27
|
-
expect(dialog).not.toBeNull();
|
|
28
|
-
await expect.element(loc(dialog)).toBeInTheDocument();
|
|
29
|
-
// 焦点进入浮层(focus trap activate)。
|
|
30
|
-
await expect.poll(() => dialog.contains(document.activeElement)).toBe(true);
|
|
31
|
-
// 2. Esc 关闭,焦点归还触发器(focus trap returnFocus + useDismiss escape)。
|
|
32
|
-
await userEvent.keyboard('{Escape}');
|
|
33
|
-
await expect.element(loc(trigger)).toHaveFocus();
|
|
34
|
-
expect(trigger.getAttribute('aria-expanded')).toBe('false');
|
|
35
|
-
});
|
|
36
|
-
});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Popover a11y 测试夹具:在 LocaleProvider 内渲染 Popover。
|
|
3
|
-
children 仅作触发文案(非交互)——dialog 模式下 Popover 的触发包裹 span 自身承载
|
|
4
|
-
role=button + tabindex=0 + Enter/Space 激活(对齐 Dropdown),故 children 不再嵌套
|
|
5
|
-
原生 <button>(否则 role=button 包裹可聚焦元素 → axe nested-interactive)。
|
|
6
|
-
仅供 Popover.a11y.test.ts 使用,不对外导出。
|
|
7
|
-
-->
|
|
8
|
-
<script lang="ts">
|
|
9
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
10
|
-
import Popover from './Popover.svelte';
|
|
11
|
-
|
|
12
|
-
interface Props {
|
|
13
|
-
open?: boolean;
|
|
14
|
-
content?: string;
|
|
15
|
-
title?: string | undefined;
|
|
16
|
-
trigger?: 'hover' | 'click' | 'focus' | 'custom';
|
|
17
|
-
locale?: string;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
let {
|
|
21
|
-
open = false,
|
|
22
|
-
content = 'Popover body content',
|
|
23
|
-
title,
|
|
24
|
-
trigger = 'custom',
|
|
25
|
-
locale = 'en_US',
|
|
26
|
-
}: Props = $props();
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<LocaleProvider {locale}>
|
|
30
|
-
{#if title !== undefined}
|
|
31
|
-
<Popover {open} {content} {title} {trigger}>Open</Popover>
|
|
32
|
-
{:else}
|
|
33
|
-
<Popover {open} {content} {trigger}>Open</Popover>
|
|
34
|
-
{/if}
|
|
35
|
-
</LocaleProvider>
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
interface Props {
|
|
2
|
-
open?: boolean;
|
|
3
|
-
content?: string;
|
|
4
|
-
title?: string | undefined;
|
|
5
|
-
trigger?: 'hover' | 'click' | 'focus' | 'custom';
|
|
6
|
-
locale?: string;
|
|
7
|
-
}
|
|
8
|
-
declare const PopoverA11yFixture: import("svelte").Component<Props, {}, "">;
|
|
9
|
-
type PopoverA11yFixture = ReturnType<typeof PopoverA11yFixture>;
|
|
10
|
-
export default PopoverA11yFixture;
|
|
11
|
-
//# sourceMappingURL=PopoverA11yFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverA11yFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/popover/PopoverA11yFixture.svelte.ts"],"names":[],"mappings":"AAOE,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA0BH,QAAA,MAAM,kBAAkB,2CAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 Popover.kbd.test.ts(browser project)使用的 dialog 模式 Esc 归还 e2e 夹具。
|
|
3
|
-
trigger='click':触发器 span 承载 role=button + tabindex=0,点击打开浮层(dialog 角色,
|
|
4
|
-
trapFocus 默认随 click),Esc 关闭并归还焦点到触发器。content 含一个按钮供焦点陷阱断言。
|
|
5
|
-
-->
|
|
6
|
-
<script lang="ts">
|
|
7
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
8
|
-
import Popover from './Popover.svelte';
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
<LocaleProvider locale="en_US">
|
|
12
|
-
<Popover trigger="click" title="More info">
|
|
13
|
-
{#snippet contentSlot()}
|
|
14
|
-
<button type="button" data-testid="pop-btn">action</button>
|
|
15
|
-
{/snippet}
|
|
16
|
-
Open
|
|
17
|
-
</Popover>
|
|
18
|
-
</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 PopoverKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type PopoverKbdFixture = InstanceType<typeof PopoverKbdFixture>;
|
|
18
|
-
export default PopoverKbdFixture;
|
|
19
|
-
//# sourceMappingURL=PopoverKbdFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PopoverKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/popover/PopoverKbdFixture.svelte.ts"],"names":[],"mappings":"AAuBA,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,iBAAiB;;kBAA+E,CAAC;AACrF,KAAK,iBAAiB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Progress.a11y.test.d.ts","sourceRoot":"","sources":["../../src/progress/Progress.a11y.test.ts"],"names":[],"mappings":""}
|