Files
2025-06-17 11:53:18 +02:00

1302 lines
38 KiB
CSS

:root {
--jooa11y-font-face: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Helvetica Neue", Arial, "FontAwesome", sans-serif;
--jooa11y-large-text: 16px;
--jooa11y-normal-text: 15px;
--jooa11y-focus-color: rgba(0, 208, 255, .75);
--jooa11y-pulse-color: rgba(0, 208, 255, 0);
--jooa11y-good: #36844e;
--jooa11y-good-hover: #38a459;
--jooa11y-good-text: #fff;
--jooa11y-good-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25px' height='25px' role='img' focusable='false' aria-hidden='true' viewBox='0 0 512 512'%3E%3Cpath fill='%23ffffff' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'%3E%3C/path%3E%3C/svg%3E");
--jooa11y-warning: #ffc800;
--jooa11y-warning-hover: #ffd226;
--jooa11y-warning-text: #000;
--jooa11y-warning-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25px' height='25px' role='img' focusable='false' aria-hidden='true' viewBox='0 0 512 512'%3E%3Cpath fill='%23505050' d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z'/%3E%3C/svg%3E");
--jooa11y-warning-svg-color: #d39c00;
--jooa11y-error: #d30017;
--jooa11y-error-hover: #f00;
--jooa11y-error-text: #fff;
--jooa11y-error-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' role='img' focusable='false' aria-hidden='true' viewBox='0 0 576 576' width='25px' height='25px'%3E%3Cpath fill='%23ffffff' d='M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'%3E%3C/path%3E%3C/svg%3E");
--jooa11y-setting-switch-on-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' role='img' viewBox='0 0 576 512'%3E%3Cpath fill='%23000000' d='M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z'/%3E%3C/svg%3E");
--jooa11y-setting-switch-off-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' role='img' viewBox='0 0 576 512'%3E%3Cpath fill='%23000000' d='M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z'/%3E%3C/svg%3E");
--jooa11y-close-btn-svg: url("data:image/svg+xml,%3Csvg width='20px' height='20px' aria-hidden='true' focusable='false' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath fill='%23000000' d='M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z'%3E%3C/path%3E%3C/svg%3E");
--jooa11y-shortcut-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' viewBox='0 0 351 123'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill-rule: evenodd; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M10-.022H152.1a10,10,0,0,1,10,10V112.906a10,10,0,0,1-10,10H10a10,10,0,0,1-10-10V9.978A10,10,0,0,1,10-.022Zm111.91,81q0.647,0.63,3.956.63,0.493,0,1.046-.019T128,81.53v8.131l-5.135.191q-7.683.267-10.5-2.672-1.826-1.87-1.825-5.764V55.8h-5.781V48.051h5.781V36.446h10.725V48.051H128V55.8h-6.732V77.789Q121.264,80.347,121.91,80.976ZM87.6,33.01H98.444V89.279H87.6V33.01Zm-22.887,44.7H44.073l-3.8,11.567H28.02L48.032,33.01H61.286L81.12,89.279h-12.7ZM54.535,45.875L47.26,68.016H61.617ZM199-.022H341.1a10,10,0,0,1,10,10V112.906a10,10,0,0,1-10,10H199a10,10,0,0,1-10-10V9.978A10,10,0,0,1,199-.022ZM249.987,60.49V50.708l29.407-10.481L249.987,29.809V19.991l41.228,15.82v8.929Zm25.446,44.535H264.747V94.514h10.686v10.511Z'/%3E%3C/svg%3E");
}
/* SVG icons by FontAwesome 5: https://fontawesome.com/license/free */
/* --jooa11y-shortcut-svg (Alt + .) SVG was created by Adam Chaboryk, MIT license. */
html,
html[data-jooa11y-theme=light] {
--jooa11y-red-text: #d30017;
--jooa11y-yellow-text: #966f0d;
--jooa11y-panel-badge: #e9e9e9;
--jooa11y-panel-primary: #333;
--jooa11y-panel-bg: #fff;
--jooa11y-panel-bg-secondary: #f6f6f6;
--jooa11y-panel-bg-splitter: #d7d7d7;
--jooa11y-panel-error: #d30017;
--jooa11y-panel-secondary: #4d4d4d;
--jooa11y-panel-secondary-hover: #0077c8;
--jooa11y-panel-toggle-active: #c6c6c6;
--jooa11y-setting-switch-bg-on: #21b5ff;
--jooa11y-setting-switch-bg-off: #757575;
--jooa11y-hyperlink: #004c9b;
--jooa11y-shortcut-hover: #e8e8e8;
}
html[data-jooa11y-theme=dark] {
--jooa11y-red-text: #fe5b5f;
--jooa11y-yellow-text: #ffc800;
--jooa11y-panel-badge: #3500c4;
--jooa11y-panel-primary: #dde8ff;
--jooa11y-panel-bg: #0a2051;
--jooa11y-panel-bg-secondary: #072c7c;
--jooa11y-panel-bg-splitter: #0041c9;
--jooa11y-panel-error: #f00;
--jooa11y-panel-secondary: #a3c1ff;
--jooa11y-panel-secondary-hover: rgb(0 0 0 / 40%);
--jooa11y-panel-toggle-active: #000;
--jooa11y-setting-switch-bg-on: #21b5ff;
--jooa11y-setting-switch-bg-off: #bfbfbf;
--jooa11y-hyperlink: #64b2ff;
--jooa11y-shortcut-hover: #093698;
}
@media (prefers-color-scheme: dark) {
html,
html[data-jooa11y-theme=dark] {
--jooa11y-red-text: #ff6c6f;
--jooa11y-yellow-text: #ffc800;
--jooa11y-panel-badge: #3500c4;
--jooa11y-panel-primary: #dde8ff;
--jooa11y-panel-bg: #0a2051;
--jooa11y-panel-bg-secondary: #072c7c;
--jooa11y-panel-bg-splitter: #0041c9;
--jooa11y-panel-error: #f00;
--jooa11y-panel-secondary: #a3c1ff;
--jooa11y-panel-secondary-hover: rgb(0 0 0 / 40%);
--jooa11y-panel-toggle-active: #000;
--jooa11y-setting-switch-bg-on: #21b5ff;
--jooa11y-setting-switch-bg-off: #bfbfbf;
--jooa11y-hyperlink: #64b2ff;
--jooa11y-shortcut-hover: #093698;
}
html[data-jooa11y-theme=light] {
--jooa11y-red-text: #d30017;
--jooa11y-yellow-text: #966f0d;
--jooa11y-panel-badge: #e9e9e9;
--jooa11y-panel-primary: #333;
--jooa11y-panel-bg: #fff;
--jooa11y-panel-bg-secondary: #f6f6f6;
--jooa11y-panel-bg-splitter: #d7d7d7;
--jooa11y-panel-error: #d30017;
--jooa11y-panel-secondary: #4d4d4d;
--jooa11y-panel-secondary-hover: #0077c8;
--jooa11y-panel-toggle-active: #c6c6c6;
--jooa11y-setting-switch-bg-on: #21b5ff;
--jooa11y-setting-switch-bg-off: #757575;
--jooa11y-hyperlink: #004c9b;
--jooa11y-shortcut-hover: #e8e8e8;
}
}
#jooa11y-container div {
display: block;
}
#jooa11y-container * {
font-family: var(--jooa11y-font-face);
line-height: 22px;
-webkit-font-smoothing: auto;
}
#jooa11y-container p,
#jooa11y-container ol,
#jooa11y-container ul,
#jooa11y-container li,
#jooa11y-container label {
font-size: var(--jooa11y-normal-text);
font-weight: normal;
letter-spacing: normal;
word-break: normal;
-webkit-padding-start: 0;
padding-inline-start: 0;
margin-bottom: 0;
}
.jooa11y-instance {
display: block;
}
.jooa11y-instance-inline {
display: inline-block;
}
.jooa11y-overflow {
overflow: auto;
}
/*===== Main button ===== */
#jooa11y-container #jooa11y-toggle {
position: fixed;
inset-inline-end: 15px;
bottom: 15px;
z-index: 9999999999;
width: 55px;
height: 55px;
padding: 10px;
margin: 0;
overflow: visible;
color: #fff;
cursor: pointer;
background-image: -webkit-gradient(linear, left bottom, left top, from(#e040fb), to(#00bcd4));
background-image: linear-gradient(to top, #e040fb, #00bcd4);
background-size: 150% 150%;
border: 0;
border-radius: 50px;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
#jooa11y-container #jooa11y-toggle:hover,
#jooa11y-container #jooa11y-toggle:focus {
-webkit-animation: jooa11y-toggle-gradient 3s ease;
animation: jooa11y-toggle-gradient 3s ease;
}
#jooa11y-container .jooa11y-notification-badge-warning {
color: var(--jooa11y-warning-text);
background-color: var(--jooa11y-warning-hover);
border: 1px solid var(--jooa11y-warning);
}
#jooa11y-container #jooa11y-notification-badge {
position: absolute;
top: -3px;
right: -3px;
display: none;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 20px;
height: 20px;
font-size: 13px;
font-weight: normal;
line-height: 1;
color: #fff;
background-color: #eb0000;
border-radius: 100px;
}
#jooa11y-container #jooa11y-notification-badge > div {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
#jooa11y-container button.jooa11y-on {
background-image: -webkit-gradient(linear, left top, left bottom, from(#e040fb), to(#00bcd4));
background-image: linear-gradient(to bottom, #e040fb, #00bcd4);
}
#jooa11y-container .loading-jooa11y::before {
position: absolute;
-webkit-box-sizing: border-box;
box-sizing: border-box;
display: inline-block;
width: 100%;
height: 100%;
margin: -10px;
content: "";
border: 4px solid rgba(255, 255, 255, 0.9);
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
border-radius: 50%;
-webkit-animation: jooa11y-rotate 1.5s ease;
animation: jooa11y-rotate 1.5s ease;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
}
#jooa11y-toggle svg path {
fill: var(--jooa11y-panel-bg);
}
/* Main focus styles */
#jooa11y-container #jooa11y-panel a:focus,
#jooa11y-container .jooa11y-close-btn:focus,
#jooa11y-container #jooa11y-cycle-toggle:focus,
#jooa11y-container button.jooa11y-btn:focus,
#jooa11y-container button#jooa11y-toggle:focus {
outline: 0;
-webkit-box-shadow: 0 0 0 5px var(--jooa11y-focus-color);
box-shadow: 0 0 0 5px var(--jooa11y-focus-color);
}
/*===== Main panel/container ===== */
#jooa11y-container label {
display: inline-block;
width: 180px;
margin: 0;
font-weight: normal;
color: var(--jooa11y-panel-primary);
cursor: pointer;
}
#jooa11y-container #jooa11y-panel.jooa11y-active {
height: auto;
visibility: visible;
opacity: 1;
-webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
transition: opacity 0.2s, -webkit-transform 0.2s;
transition: transform 0.2s, opacity 0.2s;
transition: transform 0.2s, opacity 0.2s, -webkit-transform 0.2s;
-webkit-transform: scale(1);
transform: scale(1);
-webkit-transform-origin: bottom right;
transform-origin: bottom right;
}
#jooa11y-container #jooa11y-panel {
position: fixed;
inset-inline-end: 42px;
bottom: 25px;
z-index: 8890;
width: 310px;
overflow: visible;
visibility: hidden;
background: var(--jooa11y-panel-bg);
border-radius: 0.25em;
-webkit-box-shadow: 0 0 20px 4px rgba(154, 161, 177, 0.15), 0 4px 80px -8px rgba(36, 40, 47, 0.25), 0 4px 4px -2px rgba(91, 94, 105, 0.15);
box-shadow: 0 0 20px 4px rgba(154, 161, 177, 0.15), 0 4px 80px -8px rgba(36, 40, 47, 0.25), 0 4px 4px -2px rgba(91, 94, 105, 0.15);
opacity: 0;
-webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
transition: opacity 0.2s, -webkit-transform 0.2s;
transition: transform 0.2s, opacity 0.2s;
transition: transform 0.2s, opacity 0.2s, -webkit-transform 0.2s;
-webkit-transform: scale(0);
transform: scale(0);
-webkit-transform-origin: 100% 100%;
transform-origin: 100% 100%;
}
#jooa11y-container #jooa11y-panel-alert {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
max-height: 200px;
padding: 15px 20px 15px 15px;
overflow-y: auto;
color: var(--jooa11y-panel-primary);
border-bottom: 1px solid var(--jooa11y-panel-bg-splitter);
}
#jooa11y-container #jooa11y-panel-alert-preview,
#jooa11y-container #jooa11y-panel-alert-text {
font-family: var(--jooa11y-font-face);
font-size: var(--jooa11y-normal-text);
font-weight: normal;
line-height: 22px;
}
#jooa11y-container #jooa11y-panel-alert-preview {
padding: 10px;
margin-top: 15px;
background: var(--jooa11y-panel-bg-secondary);
border: 1px dashed var(--jooa11y-panel-bg-splitter);
border-radius: 5px;
}
#jooa11y-container #jooa11y-panel-content {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding: 10px 20px 10px 10px;
color: var(--jooa11y-panel-primary);
}
#jooa11y-container #jooa11y-panel-controls {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
#jooa11y-container #jooa11y-panel a {
color: var(--jooa11y-hyperlink);
text-decoration: underline;
cursor: pointer;
border-bottom: 0;
}
#jooa11y-container #jooa11y-panel a:hover,
#jooa11y-container #jooa11y-panel a:focus {
text-decoration: none;
}
#jooa11y-container #jooa11y-status {
font-size: var(--jooa11y-large-text);
color: var(--jooa11y-panel-primary);
margin: 0;
}
#jooa11y-container .jooa11y-errors .jooa11y-panel-icon,
#jooa11y-container .jooa11y-good .jooa11y-panel-icon,
#jooa11y-container .jooa11y-warnings .jooa11y-panel-icon {
width: 35px;
height: 35px;
}
#jooa11y-container .jooa11y-errors .jooa11y-panel-icon {
background: var(--jooa11y-panel-error);
mask: var(--jooa11y-error-svg) center no-repeat;
-webkit-mask: var(--jooa11y-error-svg) center no-repeat;
}
#jooa11y-container .jooa11y-good .jooa11y-panel-icon {
background: var(--jooa11y-good);
mask: var(--jooa11y-good-svg) center no-repeat;
-webkit-mask: var(--jooa11y-good-svg) center no-repeat;
}
#jooa11y-container .jooa11y-warnings .jooa11y-panel-icon {
background: var(--jooa11y-warning-svg-color);
mask: var(--jooa11y-warning-svg) center no-repeat;
-webkit-mask: var(--jooa11y-warning-svg) center no-repeat;
}
/* Shortcut icon */
.jooa11y-shortcut-icon {
display: inline-block;
width: 50px;
height: 20px;
margin-top: 5px;
background: var(--jooa11y-panel-primary);
mask: var(--jooa11y-shortcut-svg) center no-repeat;
-webkit-mask: var(--jooa11y-shortcut-svg) center no-repeat;
}
/* Outline and settings Panel */
#jooa11y-container #jooa11y-panel-alert,
#jooa11y-container #jooa11y-readability-panel,
#jooa11y-container #jooa11y-settings-panel,
#jooa11y-container #jooa11y-outline-panel {
display: none;
opacity: 0;
}
#jooa11y-container #jooa11y-panel-alert.jooa11y-active,
#jooa11y-container #jooa11y-readability-panel.jooa11y-active,
#jooa11y-container #jooa11y-settings-panel.jooa11y-active,
#jooa11y-container #jooa11y-outline-panel.jooa11y-active {
display: block;
opacity: 1;
}
#jooa11y-container #jooa11y-settings-header,
#jooa11y-container #jooa11y-outline-header {
padding: 10px 15px 0;
}
#jooa11y-container #jooa11y-settings-content,
#jooa11y-container #jooa11y-outline-content {
padding: 0 15px 10px;
border-bottom: 1px solid var(--jooa11y-panel-bg-splitter);
}
#jooa11y-container #jooa11y-outline-content {
max-height: 250px;
overflow-y: auto;
}
#jooa11y-container #jooa11y-settings-panel,
#jooa11y-container #jooa11y-outline-panel .jooa11y-outline-list-item {
color: var(--jooa11y-panel-primary);
}
#jooa11y-container #jooa11y-settings-panel .jooa11y-red-text,
#jooa11y-container #jooa11y-outline-panel .jooa11y-outline-list-item.jooa11y-red-text {
color: var(--jooa11y-red-text);
}
#jooa11y-container .jooa11y-missing-h1 {
padding: 2px;
margin: 0 15px;
border: 2px dashed var(--jooa11y-red-text);
}
#jooa11y-container .jooa11y-badge {
display: inline;
min-width: 10px;
padding: 2px 5px;
font-size: 12px;
font-weight: 700;
color: var(--jooa11y-panel-primary);
text-align: center;
white-space: nowrap;
background-color: var(--jooa11y-panel-badge);
border-radius: 10px;
}
#jooa11y-container .jooa11y-error-badge {
color: var(--jooa11y-error-text);
background: var(--jooa11y-error);
}
#jooa11y-container .jooa11y-warning-badge {
color: var(--jooa11y-panel-bg);
background: var(--jooa11y-yellow-text);
}
#jooa11y-container #jooa11y-outline-list .jooa11y-outline-2 {
-webkit-margin-start: 15px;
margin-inline-start: 15px;
}
#jooa11y-container #jooa11y-outline-list .jooa11y-outline-3 {
-webkit-margin-start: 30px;
margin-inline-start: 30px;
}
#jooa11y-container #jooa11y-outline-list .jooa11y-outline-4 {
-webkit-margin-start: 45px;
margin-inline-start: 45px;
}
#jooa11y-container #jooa11y-outline-list .jooa11y-outline-5 {
-webkit-margin-start: 60px;
margin-inline-start: 60px;
}
#jooa11y-container #jooa11y-outline-list .jooa11y-outline-6 {
-webkit-margin-start: 75px;
margin-inline-start: 75px;
}
#jooa11y-container #jooa11y-outline-list {
display: block;
padding: 0;
margin: 0;
}
#jooa11y-container #jooa11y-outline-list li {
display: block;
padding: 0;
margin-top: 0;
margin-bottom: 0;
list-style-type: none;
}
/* Readability panel */
#jooa11y-container .jooa11y-readability-level {
display: inline-block;
-webkit-padding-start: 10px;
padding-inline-start: 10px;
}
#jooa11y-container #jooa11y-readability-content {
width: 100%;
padding: 10px 15px;
color: var(--jooa11y-panel-primary);
border-bottom: 1px solid var(--jooa11y-panel-bg-splitter);
}
#jooa11y-container #jooa11y-readability-details {
padding: 0;
margin: 0;
white-space: normal;
list-style-type: none;
}
#jooa11y-container #jooa11y-readability-details li {
display: inline-block;
padding: 0 10px 0 0;
margin: 0;
list-style-type: none;
}
/* Scroll bar */
#jooa11y-container #jooa11y-panel-alert::-webkit-scrollbar,
#jooa11y-container #jooa11y-settings-content::-webkit-scrollbar,
#jooa11y-container #jooa11y-outline-content::-webkit-scrollbar {
width: 7px;
}
#jooa11y-container #jooa11y-panel-alert,
#jooa11y-container #jooa11y-settings-content,
#jooa11y-container #jooa11y-outline-content {
scrollbar-width: thin;
scrollbar-color: var(--jooa11y-panel-bg-splitter);
}
#jooa11y-container #jooa11y-panel-alert::-webkit-scrollbar-thumb,
#jooa11y-container #jooa11y-settings-content::-webkit-scrollbar-thumb,
#jooa11y-container #jooa11y-outline-content::-webkit-scrollbar-thumb {
background-color: var(--jooa11y-panel-bg-splitter);
border-radius: 6px;
}
/* Jump to issue button */
#jooa11y-container #jooa11y-cycle-toggle {
position: relative;
width: 35px;
height: 35px;
-webkit-margin-end: 10px;
margin-inline-end: 10px;
overflow: visible;
cursor: pointer;
border: 0;
border-radius: 50px;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
background: none;
padding: 0;
}
#jooa11y-container #jooa11y-cycle-toggle:before {
position: absolute;
top: -7px;
right: -7px;
bottom: -7px;
left: -7px;
content: "";
}
#jooa11y-container #jooa11y-cycle-toggle:hover:not(:disabled),
#jooa11y-container #jooa11y-cycle-toggle:focus:not(:disabled) {
background-color: var(--jooa11y-shortcut-hover);
}
/* Setting & Outline toggles */
#jooa11y-container #jooa11y-settings-toggle.jooa11y-settings-active,
#jooa11y-container #jooa11y-settings-toggle:hover,
#jooa11y-container #jooa11y-outline-toggle.jooa11y-outline-active,
#jooa11y-container #jooa11y-outline-toggle:hover {
background-color: var(--jooa11y-shortcut-hover);
}
#jooa11y-container #jooa11y-outline-toggle {
border-radius: 0 0 0 5px;
}
#jooa11y-container #jooa11y-settings-toggle,
#jooa11y-container #jooa11y-outline-toggle {
position: relative;
display: block;
width: 100%;
height: 30px;
padding: 0;
margin: 0;
font-size: var(--jooa11y-normal-text);
font-weight: 400;
line-height: 0;
color: var(--jooa11y-panel-secondary);
text-align: center;
cursor: pointer;
background: var(--jooa11y-panel-bg-secondary);
background-color: var(--jooa11y-panel-bg-secondary);
border-top: 1px solid var(--jooa11y-panel-bg-splitter);
border-right: 1px solid var(--jooa11y-panel-bg-splitter);
border-bottom: 0;
border-left: 0;
outline: 0;
opacity: 1;
-webkit-transition: background 0.2s;
transition: background 0.2s;
}
/* Accessibility: Increase target size. */
#jooa11y-container #jooa11y-settings-toggle:before,
#jooa11y-container #jooa11y-outline-toggle:before {
position: absolute;
top: -7px;
right: 0;
bottom: -8px;
left: 0;
content: "";
}
#jooa11y-container #jooa11y-other-options li,
#jooa11y-container #jooa11y-settings-options li {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 1px 0;
list-style-type: none;
}
#jooa11y-container #jooa11y-other-options li + li,
#jooa11y-container #jooa11y-settings-options li + li {
border-color: var(--jooa11y-panel-bg-splitter);
border-top: 1px solid;
}
/* Close button within panel. */
#jooa11y-container .jooa11y-close-btn {
position: relative;
float: right;
width: 30px;
height: 30px;
margin: 0;
font-size: var(--jooa11y-normal-text);
font-weight: normal;
color: var(--jooa11y-panel-primary);
cursor: pointer;
background: none;
border: 0;
border-radius: 50%;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
[dir=rtl] #jooa11y-container .jooa11y-close-btn {
float: left;
}
#jooa11y-container .jooa11y-close-btn:hover,
#jooa11y-container .jooa11y-close-btn:focus {
background-color: var(--jooa11y-shortcut-hover);
}
#jooa11y-container .jooa11y-close-btn:after {
position: absolute;
top: -7px;
right: -7px;
bottom: -7px;
left: -7px;
content: "";
}
#jooa11y-container .jooa11y-close-btn:after {
background: var(--jooa11y-setting-switch-bg-off);
mask: var(--jooa11y-close-btn-svg) center no-repeat;
-webkit-mask: var(--jooa11y-close-btn-svg) center no-repeat;
}
/* Toggle buttons within Settings panel. */
#jooa11y-container .jooa11y-settings-switch {
position: relative;
width: 80px;
height: 45px;
padding: 7px 10px;
margin: 0;
font-size: var(--jooa11y-normal-text);
font-weight: normal;
color: var(--jooa11y-panel-primary);
cursor: pointer;
background: none;
border: 0;
border-radius: 5px;
}
#jooa11y-container .jooa11y-settings-switch[aria-pressed=true]:after,
#jooa11y-container .jooa11y-settings-switch[aria-pressed=false]:after {
display: inline-block;
width: 27px;
height: 27px;
margin: 0 4px 4px;
vertical-align: middle;
content: "";
}
#jooa11y-container .jooa11y-settings-switch[aria-pressed=true]:after {
background: var(--jooa11y-setting-switch-bg-on);
mask: var(--jooa11y-setting-switch-on-svg) center no-repeat;
-webkit-mask: var(--jooa11y-setting-switch-on-svg) center no-repeat;
}
#jooa11y-container .jooa11y-settings-switch[aria-pressed=false]:after {
background: var(--jooa11y-setting-switch-bg-off);
mask: var(--jooa11y-setting-switch-off-svg) center no-repeat;
-webkit-mask: var(--jooa11y-setting-switch-off-svg) center no-repeat;
}
/* Default keyboard focus */
#jooa11y-container .jooa11y-settings-switch:focus,
#jooa11y-container #jooa11y-settings-toggle:focus,
#jooa11y-container #jooa11y-outline-toggle:focus {
outline: 0;
-webkit-box-shadow: inset 0 0 0 4px var(--jooa11y-focus-color);
box-shadow: inset 0 0 0 4px var(--jooa11y-focus-color);
}
button.jooa11y-btn:focus,
#jooa11y-container [tabindex="0"]:focus,
#jooa11y-container [tabindex="-1"]:focus {
outline: 0;
-webkit-box-shadow: 0 0 0 5px var(--jooa11y-focus-color);
box-shadow: 0 0 0 5px var(--jooa11y-focus-color);
}
/* Remove default focus styles for mouse users ONLY if :focus-visible is supported. */
#jooa11y-container .jooa11y-settings-switch:focus:not(:focus-visible),
#jooa11y-container #jooa11y-settings-toggle:focus:not(:focus-visible),
#jooa11y-container #jooa11y-outline-toggle:focus:not(:focus-visible) {
outline: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
button.jooa11y-btn:focus,
#jooa11y-container [tabindex="0"]:focus:not(:focus-visible),
#jooa11y-container [tabindex="-1"]:focus:not(:focus-visible) {
outline: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
/* :focus-visible supported */
#jooa11y-container .jooa11y-settings-switch:focus-visible,
#jooa11y-container #jooa11y-settings-toggle:focus-visible,
#jooa11y-container #jooa11y-outline-toggle:focus-visible {
outline: 0;
-webkit-box-shadow: inset 0 0 0 4px var(--jooa11y-focus-color);
box-shadow: inset 0 0 0 4px var(--jooa11y-focus-color);
}
button.jooa11y-btn:focus,
#jooa11y-container [tabindex="0"]:focus-visible,
#jooa11y-container [tabindex="-1"]:focus-visible {
outline: 0;
-webkit-box-shadow: 0 0 0 5px var(--jooa11y-focus-color);
box-shadow: 0 0 0 5px var(--jooa11y-focus-color);
}
/*===== Error, Warning, Pass buttons ===== */
button.jooa11y-btn {
position: absolute;
z-index: 8888;
display: block;
width: 36px;
min-width: 0;
height: 36px;
padding: 0;
font-size: 0;
line-height: normal;
cursor: pointer;
border-radius: 50%;
-webkit-box-shadow: 0 0 16px 0 #00004f;
box-shadow: 0 0 16px 0 #00004f;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
button.jooa11y-btn:after {
position: absolute;
top: -7px;
left: -7px;
width: 36px;
height: 36px;
padding: 7px;
content: "";
}
/* To prevent overlap. */
button.jooa11y-warning-btn {
margin: 20px;
}
button.jooa11y-good-btn,
button.jooa11y-error-btn {
margin: 10px;
}
button.jooa11y-error-btn-text,
button.jooa11y-good-btn-text,
button.jooa11y-warning-btn-text {
margin: -30px 10px;
}
/* Error */
button.jooa11y-error-btn,
button.jooa11y-error-btn-text {
background: 50% 50% var(--jooa11y-error) var(--jooa11y-error-svg) no-repeat;
background-color: var(--jooa11y-error);
background-size: 22px;
border: 1px solid var(--jooa11y-error);
}
button.jooa11y-error-btn:hover,
button.jooa11y-error-btn:focus,
button.jooa11y-error-btn-text:hover,
button.jooa11y-error-btn-text:focus {
background-color: var(--jooa11y-error-hover);
}
/* Pass button */
button.jooa11y-good-btn,
button.jooa11y-good-btn-text {
background: 50% 50% var(--jooa11y-good) var(--jooa11y-good-svg) no-repeat;
background-color: var(--jooa11y-good);
background-size: 20px;
border: 1px solid var(--jooa11y-good);
}
button.jooa11y-good-btn:hover,
button.jooa11y-good-btn:focus,
button.jooa11y-good-btn-text:hover,
button.jooa11y-good-btn-text:focus {
background-color: var(--jooa11y-good-hover);
}
/* Warning button */
button.jooa11y-warning-btn,
button.jooa11y-warning-btn-text {
background: 50% 50% var(--jooa11y-warning) var(--jooa11y-warning-svg) no-repeat;
background-color: var(--jooa11y-warning);
background-size: 24px;
border: 1px solid var(--jooa11y-warning);
}
button.jooa11y-warning-btn:hover,
button.jooa11y-warning-btn:focus,
button.jooa11y-warning-btn-text:hover,
button.jooa11y-warning-btn-text:focus {
background-color: var(--jooa11y-warning-hover);
}
/* Misc */
.jooa11y-visually-hidden {
position: absolute;
display: block;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
clip: rect(1px, 1px, 1px, 1px);
-webkit-clip-path: inset(50%);
clip-path: inset(50%);
white-space: nowrap;
border: 0;
}
.jooa11y-header-text-inline,
.jooa11y-header-text h2,
.jooa11y-header-text {
display: block;
margin-bottom: 3px;
font-size: var(--jooa11y-large-text);
font-weight: 600;
color: var(--jooa11y-panel-primary);
}
.jooa11y-header-text-inline {
display: inline-block;
}
.jooa11y-kbd {
padding: 0.1em 0.3em;
color: var(--jooa11y-panel-primary);
background-color: var(--jooa11y-panel-badge);
border-radius: 0.2em;
}
/* Link, text, and image outlines */
.jooa11y-bold {
font-weight: 600;
}
.jooa11y-red-text {
font-family: var(--jooa11y-font-face);
font-size: var(--jooa11y-normal-text);
color: var(--jooa11y-red-text);
}
.jooa11y-yellow-text {
font-family: var(--jooa11y-font-face);
font-size: var(--jooa11y-normal-text);
color: var(--jooa11y-yellow-text);
}
.jooa11y-error-border {
outline: 5px solid var(--jooa11y-error);
}
.jooa11y-warning-border {
outline: 5px solid var(--jooa11y-warning);
}
.jooa11y-good-border {
outline: 5px solid var(--jooa11y-good);
}
p#jooa11y-readability-info {
-webkit-margin-start: 10px;
margin-inline-start: 10px;
display: inline;
}
.jooa11y-readability-score {
padding: 2px 5px;
-webkit-margin-start: 5px;
margin-inline-start: 5px;
color: var(--jooa11y-panel-primary);
background-color: var(--jooa11y-panel-badge);
border-radius: 0.25em;
}
a.jooa11y-good-text,
.jooa11y-good-text {
color: var(--jooa11y-good-text);
background-color: var(--jooa11y-good);
border-color: transparent;
border-radius: 0.25em;
-webkit-box-shadow: 0 0 0 4px var(--jooa11y-good);
box-shadow: 0 0 0 4px var(--jooa11y-good);
}
a.jooa11y-error-text,
.jooa11y-error-text {
color: var(--jooa11y-error-text);
background-color: var(--jooa11y-error);
border-color: transparent;
border-radius: 0.25em;
-webkit-box-shadow: 0 0 0 4px var(--jooa11y-error);
box-shadow: 0 0 0 4px var(--jooa11y-error);
}
.jooa11y-warning-uppercase,
a.jooa11y-warning-text,
.jooa11y-warning-text {
color: var(--jooa11y-warning-text);
background-color: var(--jooa11y-warning);
border-color: transparent;
border-radius: 0.25em;
-webkit-box-shadow: 0 0 0 4px var(--jooa11y-warning);
box-shadow: 0 0 0 4px var(--jooa11y-warning);
}
/* Full width panels */
.jooa11y-error-message-container,
.jooa11y-warning-message-container,
.jooa11y-good-message-container {
position: absolute;
top: 0;
z-index: 99999;
display: block;
width: 100%;
}
.jooa11y-error-message,
.jooa11y-warning-message,
.jooa11y-good-message {
max-width: 900px;
padding: 10px 0 7px;
margin: 0 auto;
font-family: var(--jooa11y-font-face);
font-size: var(--jooa11y-normal-text);
line-height: 22px;
text-align: center;
}
.jooa11y-error-message-container {
background-color: var(--jooa11y-error);
}
.jooa11y-warning-message-container {
background-color: var(--jooa11y-warning);
}
.jooa11y-good-message-container {
background-color: var(--jooa11y-good);
}
.jooa11y-error-message a,
.jooa11y-warning-message a,
.jooa11y-good-message a {
text-decoration: underline;
border: 0;
}
.jooa11y-error-message a,
.jooa11y-error-message {
color: var(--jooa11y-error-text);
}
.jooa11y-warning-message a,
.jooa11y-warning-message {
color: var(--jooa11y-warning-text);
}
.jooa11y-good-message a,
.jooa11y-good-message {
color: var(--jooa11y-good-text);
}
.jooa11y-error-message a:hover,
.jooa11y-error-message a:focus,
.jooa11y-warning-message a:hover,
.jooa11y-warning-message a:focus,
.jooa11y-good-message a:hover,
.jooa11y-good-message a:focus {
text-decoration: none;
}
.jooa11y-error-message:before,
.jooa11y-warning-message:before,
.jooa11y-good-message:before {
width: 24px;
height: 24px;
margin: 10px;
vertical-align: middle;
}
.jooa11y-error-message:before {
content: var(--jooa11y-error-svg);
}
.jooa11y-warning-message:before {
content: var(--jooa11y-warning-svg);
}
.jooa11y-good-message:before {
content: var(--jooa11y-good-svg);
}
/*===== Heading label ===== */
span.jooa11y-label-visible {
display: inline-block !important;
}
span.jooa11y-heading-label {
position: absolute;
z-index: 200;
display: none;
padding: 3px;
margin: -5px 0 0 5px;
font-family: var(--jooa11y-font-face);
font-size: var(--jooa11y-normal-text);
font-weight: 500;
line-height: normal;
color: #fff;
text-shadow: none;
letter-spacing: normal;
background-color: #777678;
background-image: -webkit-gradient(linear, left top, right bottom, from(#b629ce), to(#16aec2));
background-image: linear-gradient(to bottom right, #b629ce, #16aec2);
border-radius: 3px;
}
/* Pulse border: https://codepen.io/olam/pen/zcqea */
.jooa11y-pulse-border {
border: 3px solid var(--jooa11y-focus-color);
-webkit-box-shadow: 0 0 0 var(--jooa11y-focus-color);
box-shadow: 0 0 0 var(--jooa11y-focus-color);
-webkit-animation: pulse 2s infinite;
animation: pulse 2s infinite;
}
.jooa11y-pulse-border:hover,
.jooa11y-pulse-border:focus {
-webkit-animation: none;
animation: none;
}
@-webkit-keyframes pulse {
0% {
-webkit-box-shadow: 0 0 0 0 var(--jooa11y-focus-color);
box-shadow: 0 0 0 0 var(--jooa11y-focus-color);
}
70% {
-webkit-box-shadow: 0 0 0 10px var(--jooa11y-pulse-color);
box-shadow: 0 0 0 10px var(--jooa11y-pulse-color);
}
100% {
-webkit-box-shadow: 0 0 0 0 var(--jooa11y-pulse-color);
box-shadow: 0 0 0 0 var(--jooa11y-pulse-color);
}
}
@keyframes pulse {
0% {
-webkit-box-shadow: 0 0 0 0 var(--jooa11y-focus-color);
box-shadow: 0 0 0 0 var(--jooa11y-focus-color);
}
70% {
-webkit-box-shadow: 0 0 0 10px var(--jooa11y-pulse-color);
box-shadow: 0 0 0 10px var(--jooa11y-pulse-color);
}
100% {
-webkit-box-shadow: 0 0 0 0 var(--jooa11y-pulse-color);
box-shadow: 0 0 0 0 var(--jooa11y-pulse-color);
}
}
/* ===== Helper ===== */
.jooa11y-clone-image-text {
display: none;
}
/*===== Animations ===== */
@-webkit-keyframes jooa11y-toggle-gradient {
0% {
background-position: 50% 0%;
}
50% {
background-position: 50% 100%;
}
100% {
background-position: 50% 0%;
}
}
@keyframes jooa11y-toggle-gradient {
0% {
background-position: 50% 0%;
}
50% {
background-position: 50% 100%;
}
100% {
background-position: 50% 0%;
}
}
@-webkit-keyframes jooa11y-rotate {
0% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
100% {
border: 4px solid rgba(255, 255, 255, 0.05);
}
}
@keyframes jooa11y-rotate {
0% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
100% {
border: 4px solid rgba(255, 255, 255, 0.05);
}
}
@media (prefers-reduced-motion: reduce) {
#jooa11y-container * {
-webkit-transition: none;
transition: none;
-webkit-transform: none;
transform: none;
-webkit-animation: none;
animation: none;
}
#jooa11y-container .loading-jooa11y::before {
opacity: 0;
-webkit-animation: none;
animation: none;
}
}
/*===== Tooltip additions ===== */
.jooa11y-hr {
height: 1px;
padding: 0;
margin: 10px 0;
background: var(--jooa11y-panel-bg-splitter);
border: none;
}
/*===== Custom tippy theme for Jooa11y ===== */
/* Hacky CSS reset to ensure maximum compatibility. */
.tippy-box[data-theme~=jooa11y-theme][role=tooltip] {
all: unset;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-animation: inherit;
animation: inherit;
}
.tippy-box[data-theme~=jooa11y-theme][role=tooltip][data-animation=fade][data-state=hidden] {
opacity: 0;
}
.tippy-box[data-theme~=jooa11y-theme][data-inertia][data-state=visible] {
-webkit-transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
}
/* Tooltip content */
.tippy-box[data-theme~=jooa11y-theme] * {
font-family: var(--jooa11y-font-face);
line-height: 22px;
-webkit-font-smoothing: auto;
letter-spacing: unset;
}
.tippy-box[data-theme~=jooa11y-theme][role=tooltip],
.tippy-box[data-theme~=jooa11y-theme] {
display: block;
padding: 8px;
font-weight: normal;
color: var(--jooa11y-panel-primary);
background-color: var(--jooa11y-panel-bg);
border-radius: 4px;
outline: 0;
-webkit-box-shadow: 0 0 20px 4px rgba(154, 161, 177, 0.15), 0 4px 80px -8px rgba(36, 40, 47, 0.25), 0 4px 4px -2px rgba(91, 94, 105, 0.15);
box-shadow: 0 0 20px 4px rgba(154, 161, 177, 0.15), 0 4px 80px -8px rgba(36, 40, 47, 0.25), 0 4px 4px -2px rgba(91, 94, 105, 0.15);
-webkit-transition-property: visibility, opacity, -webkit-transform;
transition-property: visibility, opacity, -webkit-transform;
transition-property: transform, visibility, opacity;
transition-property: transform, visibility, opacity, -webkit-transform;
}
.tippy-box[data-theme~=jooa11y-theme] *:not(.jooa11y-header-text):not(.jooa11y-bold) {
font-size: var(--jooa11y-normal-text);
}
.tippy-box[data-theme~=jooa11y-theme] ul {
padding: 5px 10px 0 20px;
margin: 0;
}
.tippy-box[data-theme~=jooa11y-theme] li {
padding-bottom: 5px;
}
.tippy-box[data-theme~=jooa11y-theme] a {
color: var(--jooa11y-hyperlink);
text-decoration: underline;
}
.tippy-box[data-theme~=jooa11y-theme] a:hover,
.tippy-box[data-theme~=jooa11y-theme] a:focus {
text-decoration: none;
}
/* Arrows */
.tippy-box[data-theme~=jooa11y-theme][data-placement^=top] > .tippy-arrow::before {
border-top-color: var(--jooa11y-panel-bg);
}
.tippy-box[data-theme~=jooa11y-theme][data-placement^=bottom] > .tippy-arrow::before {
border-bottom-color: var(--jooa11y-panel-bg);
}
.tippy-box[data-theme~=jooa11y-theme][data-placement^=left] > .tippy-arrow::before {
border-left-color: var(--jooa11y-panel-bg);
}
.tippy-box[data-theme~=jooa11y-theme][data-placement^=right] > .tippy-arrow::before {
border-right-color: var(--jooa11y-panel-bg);
}
/*-----------------------------------------------------------------------
Jooa11y: the accessibility quality assurance assistant.
License: "GPL-2.0-or-later"
Copyright Open Source Matters, Inc
Jooa11y began as a vanilla js fork of the Sa11y library
Author: Development led by Adam Chaboryk at Ryerson University.
All acknowledgements and contributors: https://github.com/ryersondmp/sa11y
License: "GPL-2.0-or-later"
Copyright (c) 2020 - 2022 Ryerson University
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
------------------------------------------------------------------------*/