Skip to content

Commit

Permalink
feat(@clayui/css): Adds global classes to configure accessibility
Browse files Browse the repository at this point in the history
    - .c-prefers-link-underline forces all anchor tags to be underlined unless it has role="button"
    - .c-prefers-reduced-motion removes all transitions and animations
    - .c-prefers-letter-spacing-1 adds more spacing between characters
    - .c-prefers-expanded-text disables text-truncate
  • Loading branch information
pat270 committed Jun 12, 2023
1 parent d0d7fdd commit 232e15a
Show file tree
Hide file tree
Showing 23 changed files with 445 additions and 194 deletions.
8 changes: 4 additions & 4 deletions packages/clay-css/src/scss/atlas/variables/_tables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ $table-title-link: () !default;
$table-title-link: map-deep-merge(
(
border-radius: 1px,
display: inline-block,
display: inline-flex,
max-width: 100%,
transition: box-shadow 0.15s ease-in-out,
focus: (
Expand Down Expand Up @@ -120,7 +120,7 @@ $table-link: map-deep-merge(
(
border-radius: 1px,
color: $gray-900,
display: inline-block,
display: inline-flex,
max-width: 100%,
transition: box-shadow 0.15s ease-in-out,
hover: (
Expand Down Expand Up @@ -167,7 +167,7 @@ $table-list-title-link: map-deep-merge(
(
border-radius: 1px,
color: $gray-900,
display: inline-block,
display: inline-flex,
max-width: 100%,
transition: box-shadow 0.15s ease-in-out,
hover: (
Expand All @@ -188,7 +188,7 @@ $table-list-link: map-deep-merge(
(
border-radius: 1px,
color: $gray-900,
display: inline-block,
display: inline-flex,
max-width: 100%,
transition: box-shadow 0.15s ease-in-out,
hover: (
Expand Down
26 changes: 1 addition & 25 deletions packages/clay-css/src/scss/cadmin/components/_forms.scss
Original file line number Diff line number Diff line change
Expand Up @@ -142,31 +142,7 @@ fieldset[disabled] .form-control {
// text (without any border, background color, focus indicator)

.form-control-plaintext {
background-clip: border-box;
background-color: transparent;
border-color: transparent;
border-style: solid;

border-bottom-width: $cadmin-input-border-bottom-width;
border-left-width: $cadmin-input-border-left-width;
border-right-width: $cadmin-input-border-right-width;
border-top-width: $cadmin-input-border-top-width;
color: $cadmin-input-plaintext-color;
display: block;
font-size: $cadmin-input-font-size;
height: $cadmin-input-height;
line-height: $cadmin-input-line-height;

// match inputs if this class comes on inputs with default margins

margin-bottom: 0;
min-width: 0;
padding-bottom: $cadmin-input-padding-y;
padding-left: 0;
padding-right: 0;
padding-top: $cadmin-input-padding-y;
text-overflow: ellipsis;
width: 100%;
@include clay-form-control-variant($cadmin-input-plaintext);

@include clay-scale-component {
font-size: $cadmin-input-font-size-mobile;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,7 @@
}

.multi-step-title-center {
.multi-step-title {
margin-left: $cadmin-multi-step-icon-size * 0.5;
max-width: $cadmin-multi-step-title-max-width;
overflow: hidden;
position: relative;
text-align: center;
text-overflow: ellipsis;
transform: translateX(-50%);
white-space: nowrap;
width: auto;
}
@include clay-map-to-css($cadmin-multi-step-title-center);
}

.multi-step-item {
Expand Down
7 changes: 1 addition & 6 deletions packages/clay-css/src/scss/cadmin/components/_navbar.scss
Original file line number Diff line number Diff line change
Expand Up @@ -135,12 +135,7 @@
}

.navbar-text-truncate {
display: inline-block;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: bottom;
white-space: nowrap;
@include clay-map-to-css($cadmin-navbar-text-truncate);
}

// Navbar Toggler
Expand Down
21 changes: 0 additions & 21 deletions packages/clay-css/src/scss/cadmin/components/_type.scss
Original file line number Diff line number Diff line change
Expand Up @@ -301,24 +301,3 @@ strong {
.c-kbd-dark {
@include clay-css($cadmin-c-kbd-dark);
}

// Text Truncate

.text-truncate {
display: block;
}

.text-truncate-inline {
display: inline-flex;
max-width: 100%;

.text-truncate {
display: inline-block;
max-width: 100%;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: bottom;
white-space: nowrap;
word-wrap: normal;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -678,10 +678,14 @@
white-space: nowrap !important;
}

// Text Truncate

.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
@include clay-css($cadmin-text-truncate);
}

.text-truncate-inline {
@include clay-map-to-css($cadmin-text-truncate-inline);
}

// Responsive Text Alignment
Expand Down Expand Up @@ -857,7 +861,19 @@
visibility: hidden !important;
}

// Transitions
// C Prefers Link Underline

@include clay-map-to-css($cadmin-c-prefers-link-underline);

// C Prefers Letter Spacing

@include clay-map-to-css($cadmin-c-prefers-letter-spacing);

// Display C Reduced Motion

@include clay-map-to-css($cadmin-displays-c-prefers-reduced-motion);

// C Prefers Reduced Motion

.c-prefers-reduced-motion {
@include clay-css($cadmin-c-prefers-reduced-motion);
Expand Down
1 change: 1 addition & 0 deletions packages/clay-css/src/scss/cadmin/variables/_buttons.scss
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ $cadmin-btn: map-deep-merge(
font-family: $cadmin-btn-font-family,
font-size: $cadmin-btn-font-size,
font-weight: $cadmin-btn-font-weight,
letter-spacing: inherit,
line-height: $cadmin-btn-line-height,
padding-bottom: $cadmin-btn-padding-y,
padding-left: $cadmin-btn-padding-x,
Expand Down
31 changes: 31 additions & 0 deletions packages/clay-css/src/scss/cadmin/variables/_forms.scss
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ $cadmin-input: map-deep-merge(
font-size: $cadmin-input-font-size,
font-weight: $cadmin-input-font-weight,
height: $cadmin-input-height,
letter-spacing: inherit,
line-height: $cadmin-input-line-height,
min-width: 0,
padding-bottom: $cadmin-input-padding-y,
Expand Down Expand Up @@ -120,6 +121,36 @@ $cadmin-input-palette: () !default;

$cadmin-input-plaintext-color: $cadmin-body-color !default;

$cadmin-input-plaintext: () !default;
$cadmin-input-plaintext: map-deep-merge(
(
background-clip: border-box,
background-color: transparent,
border-bottom-width: $cadmin-input-border-bottom-width,
border-color: transparent,
border-left-width: $cadmin-input-border-left-width,
border-right-width: $cadmin-input-border-right-width,
border-style: solid,
border-top-width: $cadmin-input-border-top-width,
color: $cadmin-input-plaintext-color,
display: block,
font-size: $cadmin-input-font-size,
height: $cadmin-input-height,
letter-spacing: inherit,
line-height: $cadmin-input-line-height,
// match inputs if this class comes on inputs with default margins
margin-bottom: 0,
min-width: 0,
padding-bottom: $cadmin-input-padding-y,
padding-left: 0,
padding-right: 0,
padding-top: $cadmin-input-padding-y,
text-overflow: ellipsis,
width: 100%,
),
$cadmin-input-plaintext
);

// Deprecated

$cadmin-input-height-border: calc(
Expand Down
18 changes: 18 additions & 0 deletions packages/clay-css/src/scss/cadmin/variables/_multi-step-nav.scss
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,24 @@ $cadmin-multi-step-title-font-weight: $cadmin-font-weight-semi-bold !default;
$cadmin-multi-step-title-margin-bottom: 10px !default; // 10px
$cadmin-multi-step-title-max-width: 100px !default;

$cadmin-multi-step-title-center: () !default;
$cadmin-multi-step-title-center: map-deep-merge(
(
multi-step-title: (
margin-left: calc(#{$cadmin-multi-step-icon-size} * 0.5),
max-width: $cadmin-multi-step-title-max-width,
overflow: hidden,
position: relative,
text-align: center,
text-overflow: ellipsis,
transform: translateX(-50%),
white-space: nowrap,
width: auto,
),
),
$cadmin-multi-step-title-center
);

$cadmin-multi-step-item-margin-bottom: 10px !default;
$cadmin-multi-step-item-width: 75px !default;
$cadmin-multi-step-item-fixed-width: 150px !default;
Expand Down
13 changes: 13 additions & 0 deletions packages/clay-css/src/scss/cadmin/variables/_navbar.scss
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,19 @@ $cadmin-navbar-title-text-transform: null !default;
$cadmin-navbar-text-truncate-spacer-right: 25px !default; // 25px
$cadmin-navbar-text-truncate-max-width: 200px !default; // 200px

$cadmin-navbar-text-truncate: () !default;
$cadmin-navbar-text-truncate: map-deep-merge(
(
display: inline-block,
max-width: 100%,
overflow: hidden,
text-overflow: ellipsis,
vertical-align: bottom,
white-space: nowrap,
),
$cadmin-navbar-text-truncate
);

// Navbar Brand

$cadmin-navbar-brand-font-size: $cadmin-font-size-lg !default;
Expand Down
8 changes: 4 additions & 4 deletions packages/clay-css/src/scss/cadmin/variables/_tables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ $cadmin-table-title-link: map-deep-merge(
(
border-radius: 1px,
color: $cadmin-gray-900,
display: inline-block,
display: inline-flex,
max-width: 100%,
transition: box-shadow 0.15s ease-in-out,
hover: (
Expand All @@ -223,7 +223,7 @@ $cadmin-table-link: map-deep-merge(
(
border-radius: 1px,
color: $cadmin-gray-900,
display: inline-block,
display: inline-flex,
max-width: 100%,
transition: box-shadow 0.15s ease-in-out,
hover: (
Expand Down Expand Up @@ -641,7 +641,7 @@ $cadmin-table-list-title-link: map-deep-merge(
(
border-radius: 1px,
color: $cadmin-gray-900,
display: inline-block,
display: inline-flex,
max-width: 100%,
transition: box-shadow 0.15s ease-in-out,
hover: (
Expand All @@ -662,7 +662,7 @@ $cadmin-table-list-link: map-deep-merge(
(
border-radius: 1px,
color: $cadmin-gray-900,
display: inline-block,
display: inline-flex,
max-width: 100%,
transition: box-shadow 0.15s ease-in-out,
hover: (
Expand Down
Loading

0 comments on commit 232e15a

Please sign in to comment.