1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 --accessibility-font-size: 12px;
7 --accessibility-toolbar-height-tall: 35px;
8 --accessibility-toolbar-focus: var
(--blue-50
);
9 --accessibility-toolbar-focus-alpha30: rgba
(10, 132, 255, 0.3);
10 --accessibility-full-length-minus-splitter: calc
(100% - 1px);
11 --accessibility-horizontal-padding: 5px;
12 --accessibility-horizontal-indent: 20px;
13 --accessibility-properties-item-width: calc
(100% - var
(--accessibility-horizontal-indent
));
14 /* The main content can use the full height minus the height of the toolbar
15 (including 1px border bottom) */
16 --accessibility-main-height: calc
(100vh - var
(--theme-toolbar-height
) - 1px);
17 /* The tree can use the main content height minus the height of the tree
18 header, which has the same height as the toolbar and a 1px border bottom */
19 --accessibility-tree-height: calc
(var
(--accessibility-main-height
) - var
(--theme-toolbar-height
) - 1px);
20 --accessibility-arrow-horizontal-padding: 4px;
21 --accessibility-tree-row-height: 21px;
22 --accessibility-unfocused-tree-focused-node-background: light-dark
(var
(--grey-20
), var
(--grey-70
));
23 --accessibility-unfocused-tree-focused-node-twisty-fill: light-dark
(var
(--theme-icon-dimmed-color
), var
(--theme-selection-color
));
24 --accessibility-link-color: var
(--theme-link-color
);
25 --accessibility-link-color-active: light-dark
(var
(--blue-70
), var
(--blue-40
));
26 --accessibility-body-background-a90: light-dark
(rgba
(255, 255, 255, 0.9), rgba
(42, 42, 46, 0.9));
27 --accessibility-code-background: light-dark
(var
(--grey-20
), var
(--grey-70
));
29 &[forced-colors-active
] {
30 --accessibility-unfocused-tree-focused-node-background: GrayText
;
31 --accessibility-unfocused-tree-focused-node-color: SelectedItemText
;
32 --accessibility-unfocused-tree-focused-node-twisty-fill: SelectedItemText
;
46 animation: flash-out
0.5s ease-out
;
50 --theme-popup-border-radius: 0px;
52 :root
[platform
="mac"] {
53 --theme-popup-border-radius: 3.5px;
56 @keyframes flash-out
{
58 background: var
(--theme-contrast-background
);
62 .accessible .tree .node .theme-twisty {
63 width: var
(--accessibility-horizontal-indent
);
66 .accessible .tree .node .theme-twisty:not(.open):dir(rtl) {
67 transform: rotate
(-90deg);
70 .accessible
.tree
.node
.focused
.theme-twisty
,
71 .treeTable .treeRow.selected .theme-twisty {
72 color: var
(--theme-selection-color
);
77 color: var
(--theme-toolbar-color
);
81 /* To compenstate for 1px splitter between the tree and sidebar. */
82 width: var
(--accessibility-full-length-minus-splitter
);
87 border: 1px solid transparent
;
90 .mainFrame
.devtools-button
.devtools-throbber::before
,
91 .mainFrame .toggle-button.devtools-throbber::before {
92 /* Default for .devtools-throbber is set to 1em which is too big for the
96 margin-block-end: 1px;
97 margin-inline-end: 2px;
101 height: var
(--accessibility-main-height
);
104 .mainFrame
.devtools-button
,
105 .description .devtools-button {
109 .mainFrame .devtools-button > .btn-content {
110 padding: 2px var
(--accessibility-horizontal-padding
);
113 .description .devtools-button > .btn-content {
114 padding: 7px var
(--accessibility-horizontal-padding
);
117 .devtools-button:focus
,
118 .devtools-button
> .btn-content:focus
,
119 .devtools-button::-moz-focus-inner {
123 .devtools-button:focus > .btn-content:not(.devtools-throbber) {
124 outline: 2px solid var
(--accessibility-toolbar-focus
);
125 outline-offset: -2px;
126 box-shadow: 0 0 0 2px var
(--accessibility-toolbar-focus-alpha30
);
134 font-size: var
(--accessibility-font-size
);
137 /* Similarly to webconsole, add more padding before the toolbar group. */
138 .devtools-toolbar .devtools-separator {
142 .devtools-toolbar
.accessibility-tree-filters
,
143 .devtools-toolbar .accessibility-simulation {
144 margin-inline-start: 4px;
152 .devtools-toolbar .toolbar-menu-button {
153 border-color: transparent
;
157 .devtools-toolbar .toolbar-menu-button.filters {
161 .devtools-toolbar .toolbar-menu-button.simulation {
165 .devtools-toolbar
.toolbar-menu-button
.filters
,
166 .devtools-toolbar .toolbar-menu-button.simulation {
167 text-overflow: ellipsis
;
169 margin-inline-start: 3px;
172 .devtools-toolbar
.toolbar-menu-button::after
,
173 .devtools-toolbar .toolbar-menu-button.simulation::before {
175 display: inline-block
;
176 -moz-context-properties: fill
;
178 margin-inline-start: 3px;
181 .devtools-toolbar
.toolbar-menu-button
.filters::after
,
182 .devtools-toolbar .toolbar-menu-button.simulation::after {
183 background: url
("chrome://devtools/skin/images/select-arrow.svg") no-repeat
;
188 .devtools-toolbar .toolbar-menu-button.prefs {
189 background-color: transparent
;
192 margin-inline-start: auto
;
193 margin-inline-end: 3px;
196 .devtools-toolbar .toolbar-menu-button.prefs:active:hover {
197 background-color: var
(--theme-selection-background-hover
);
200 .devtools-toolbar .toolbar-menu-button.prefs::after {
204 .devtools-toolbar .toolbar-menu-button.prefs::before {
205 background: url
("chrome://devtools/skin/images/settings.svg") no-repeat
;
208 background-size: contain
;
210 vertical-align: text-bottom
;
213 .tooltip-container .menuitem > .command[disabled] {
217 :root
.theme-body
.tooltip-container
.tooltip-visible
[type
="doorhanger"] > .tooltip-panel
,
218 :root
.theme-body
.tooltip-container
.tooltip-visible
[type
="doorhanger"] > .tooltip-arrow::before
{
219 border: 1px solid var
(--theme-popup-border-color
);
220 border-radius: var
(--theme-popup-border-radius
);
221 box-shadow: 0 0 4px hsla
(210,4%,10%,.2);
224 .tooltip-container .menuitem > .command[role="link"] {
227 color: var
(--theme-arrowpanel-color
);
228 background-color: transparent
;
233 #audit-progress-container {
236 flex-direction: column
;
241 background: var
(--accessibility-body-background-a90
);
242 padding-block-start: 30vh;
248 .audit-progress-progressbar {
254 color: var
(--theme-toolbar-color
);
256 font-size: calc
(var
(--accessibility-font-size
) + 1px);
262 /* To ensure that the message does not look squished in vertical mode, increase its width
263 when the toolbox is narrow */
264 @media (max-width: 700px) {
270 .description .general {
277 margin-inline-end: 12px;
281 -moz-context-properties: fill
;
282 fill: var
(--grey-40
);
285 .description .devtools-button {
292 .accessibility-check-annotation .link {
293 color: var
(--accessibility-link-color
);
298 .description
.link:hover:not
(:focus
),
299 .accessibility-check-annotation .link:hover:not(:focus) {
300 text-decoration: underline
;
303 .description
.link:focus:not
(:active
),
304 .accessibility-check-annotation .link:focus:not(:active) {
305 box-shadow: 0 0 0 2px var
(--accessibility-toolbar-focus
), 0 0 0 4px var
(--accessibility-toolbar-focus-alpha30
);
309 .description
.link:active
,
310 .accessibility-check-annotation .link:active {
311 color: var
(--accessibility-link-color-active
);
312 text-decoration: underline
;
315 /* TreeView Customization */
316 .treeTable thead, .treeTable tbody {
329 .split-box:not(.horz) .treeTable tbody {
330 height: var
(--accessibility-tree-height
);
333 .split-box.horz .treeTable tbody {
334 /* Accessibility tree height depends on the height of the controlled panel
335 (sidebar) when in horz mode and also has an additional separator. */
336 height: calc
(var
(--accessibility-tree-height
) - var
(--split-box-controlled-panel-size
) - 1px);
343 .treeTable .treeRow.highlighted:not(.selected) {
344 background-color: var
(--theme-selection-background-hover
);
347 .treeTable.filtered .treeRow .treeLabelCell {
348 /* Unset row indentation when the tree is filtered. */
349 padding-inline-start: var
(--accessibility-arrow-horizontal-padding
);
352 /* When the accesibility tree is filtered, we flatten the tree and want to hide
353 the expander icon (â–¶) for expandable tree rows. */
354 .treeTable.filtered .treeRow .treeLabelCell .treeIcon {
358 .treeTable .treeLabelCell {
362 .treeTable:focus, .treeTable tbody:focus {
366 .treeTable::-moz-focus-inner {
370 .treeTable:not(:focus, :focus-within) .treeRow.selected {
371 background-color: var
(--accessibility-unfocused-tree-focused-node-background
);
374 color: var
(--accessibility-unfocused-tree-focused-node-twisty-fill
);
378 & .treeLabelCell::after
{
379 color: var
(--accessibility-unfocused-tree-focused-node-color
, inherit
);
382 & .objectBox-string
{
383 color: var
(--accessibility-unfocused-tree-focused-node-color
, var
(--string-color
));
388 pointer-events: none
;
391 .treeTable > tbody tr {
392 height: var
(--accessibility-tree-row-height
);
395 .treeTable > tbody td {
399 .treeTable > tbody td > span {
403 .mainFrame .treeTable .treeRow.hasChildren > .treeLabelCell > .treeLabel:hover {
405 text-decoration: none
;
408 .mainFrame
.treeTable
.treeHeaderRow
> .treeHeaderCell:first-child
> .treeHeaderCellBox
,
409 .mainFrame .treeTable .treeHeaderRow > .treeHeaderCell > .treeHeaderCellBox {
411 padding-inline-start: var
(--accessibility-arrow-horizontal-padding
);
414 .mainFrame .treeTable .treeHeaderCell {
416 border-bottom: 1px solid var
(--theme-splitter-color
);
417 background: var
(--theme-toolbar-background
);
419 font-size: var
(--accessibility-font-size
);
420 height: var
(--theme-toolbar-height
);
421 color: var
(--theme-toolbar-color
);
425 display: inline-block
;
427 font-size: var
(--theme-body-font-size
);
430 margin-inline-start: 5px;
431 color: var
(--badge-color
);
432 background-color: var
(--badge-background-color
);
433 border: 1px solid var
(--badge-border-color
);
437 .badge.audit-badge::before {
439 display: inline-block
;
443 margin-inline-end: 2px;
444 -moz-context-properties: fill
;
449 .badge.audit-badge[data-score="BEST_PRACTICES"]::before {
450 background-image: url
(chrome://devtools
/skin
/images
/info-tiny
.svg
);
451 vertical-align: -1px;
454 .badge.audit-badge[data-score="WARNING"]::before {
455 background-image: url
(chrome://devtools
/skin
/images
/alert-tiny
.svg
);
458 .badge.audit-badge[data-score="FAIL"]::before {
459 background-image: url
(chrome://devtools
/skin
/images
/error-tiny
.svg
);
460 vertical-align: -1px;
463 /* improve alignment in high res (where we can use half pixels) */
464 @media (min-resolution: 1.5x) {
465 .badge.audit-badge[data-score="WARNING"]::before {
466 vertical-align: -0.5px;
470 .devtools-toolbar .toolbar-menu-button:focus {
471 outline: 2px solid var
(--accessibility-toolbar-focus
);
472 outline-offset: -2px;
473 box-shadow: 0 0 0 2px var
(--accessibility-toolbar-focus-alpha30
);
476 .treeTable:focus-within .treeRow.selected .badges .badge {
477 background-color: var
(--badge-active-background-color
);
478 border-color: var
(--badge-active-border-color
);
479 color: var
(--theme-selection-color
);
482 .treeTable:not(:focus, :focus-within) .treeRow.selected .badges .badge {
483 color: var
(--badge-color
);
489 flex-direction: column
;
494 font-size: var
(--accessibility-font-size
);
495 background-color: var
(--theme-sidebar-background
);
498 .split-box:not(.horz) .right-sidebar {
501 height: var
(--accessibility-main-height
)
504 /* Tree customization */
511 /* Force the properties list to always be displayed in LTR (bug 1575002) */
515 .split-box.horz .accessible .tree {
519 .accessible .tree button {
523 /* NOTE: total height of the node (height + padding + border + margin) must
524 be exactly the same as the value of TREE_ROW_HEIGHT constant in
525 devtools/client/accessibility/constants.js */
526 .accessible .tree .node {
527 padding: 0 var
(--accessibility-horizontal-indent
);
530 height: var
(--accessibility-tree-row-height
);
531 width: var
(--accessibility-properties-item-width
);
536 .accessible .tree:focus {
540 .accessible .tree::-moz-focus-inner {
544 /* Unset tree styles leaking from reps.css */
545 .accessible .tree .tree-node:not(.focused):hover {
546 background-color: transparent
;
549 .accessible .tree:not(:focus) .node.focused {
550 background-color: var
(--accessibility-unfocused-tree-focused-node-background
);
552 :root
[forced-colors-active
] & {
553 color: var
(--accessibility-unfocused-tree-focused-node-color
);
557 color: var
(--accessibility-unfocused-tree-focused-node-twisty-fill
);
562 .accessible .tree .node:not(.focused):hover {
563 background-color: var
(--theme-selection-background-hover
);
566 .accessible
.tree:focus
.node
.focused
,
567 .accessible .tree .tree-node-active .node.focused {
568 background-color: var
(--theme-selection-background
);
571 .accessible
.tree:focus
.node
.focused
*,
572 .accessible .tree .tree-node-active .node.focused * {
573 color: var
(--theme-selection-color
);
576 /* Invert text selection color in selected rows */
577 .accessible
.tree:focus
.node
.focused ::selection
,
578 .accessible .tree .tree-node-active .node.focused ::selection {
579 color: var
(--theme-selection-background
);
580 background-color: var
(--theme-selection-color
);
583 .accessible
.tree:focus
.node
.focused
.open-inspector
,
584 .accessible .tree .tree-node-active .node.focused .open-inspector {
585 fill: var
(--grey-30
);
588 .accessible
.tree:focus
.node
.focused:hover
.open-inspector
,
589 .accessible .tree .tree-node-active .node.focused:hover .open-inspector {
590 fill: var
(--theme-selection-color
);
593 .accessible
.tree
.tree-node-active
.node
.focused
.open-inspector:focus
,
594 .accessible .tree .tree-node-active .node.focused:hover .open-inspector:focus {
595 fill: var
(--grey-40
);
598 .accessible .tree .object-value {
600 text-overflow: ellipsis
;
603 .accessible .tree .object-delimiter {
604 padding-inline-end: var
(--accessibility-arrow-horizontal-padding
);
607 .accessible .tree .object-label {
608 color: var
(--theme-highlight-blue
);
611 .accessible .tree .objectBox-accessible .accessible-role {
612 background-color: var
(--badge-background-color
);
613 color: var
(--badge-color
);
614 border: 1px solid var
(--badge-border-color
);
617 margin-inline-start: 5px;
621 .accessible
.tree:focus
.node
.focused
.objectBox-accessible
.accessible-role
,
622 .accessible .tree .tree-node-active .node.focused .objectBox-accessible .accessible-role {
623 background-color: var
(--badge-active-background-color
);
624 border-color: var
(--badge-active-border-color
);
625 color: var
(--theme-selection-color
);
628 .accessible
.tree:focus
.node
.focused
.open-accessibility-inspector
,
629 .accessible .tree .tree-node-active .node.focused .open-accessibility-inspector {
630 fill: var
(--grey-30
);
633 .accessible
.tree:focus
.node
.focused:hover
.open-accessibility-inspector
,
634 .accessible .tree .tree-node-active .node.focused:hover .open-accessibility-inspector {
635 fill: var
(--theme-selection-color
);
638 .accessible
.tree
.tree-node-active
.node
.focused
.open-accessibility-inspector:focus
,
639 .accessible .tree .tree-node-active .node.focused:hover .open-accessibility-inspector:focus {
640 fill: var
(--grey-40
);
643 .accessible
.tree
.objectBox-accessible
,
644 .accessible .tree .objectBox-node {
650 .accessible
.tree
.objectBox-accessible
.accessible-name
,
651 .accessible .tree .objectBox-node .attrName {
653 text-overflow: ellipsis
;
656 .accessible
.tree
.objectBox-accessible
.open-accessibility-inspector
,
657 .accessible .tree .objectBox-node .open-inspector {
663 .accessible
.tree
.objectBox-object
,
664 .accessible
.tree
.objectBox-string
,
665 .accessible
.tree
.objectBox-text
,
666 .accessible
.tree
.objectBox-table
,
667 .accessible
.tree
.objectLink-textNode
,
668 .accessible
.tree
.objectLink-event
,
669 .accessible
.tree
.objectLink-eventLog
,
670 .accessible
.tree
.objectLink-regexp
,
671 .accessible
.tree
.objectLink-object
,
672 .accessible
.tree
.objectLink-Date
,
673 .theme-dark
.accessible
.tree
.objectBox-object
,
674 .theme-light .accessible .tree .objectBox-object {
678 /* Styling for accessible details panel when accessible is not available */
680 color: var
(--theme-body-color
);
682 padding-inline-start: var
(--accessibility-arrow-horizontal-padding
);
683 height: var
(--accessibility-toolbar-height-tall
);
684 line-height: var
(--accessibility-toolbar-height-tall
);
692 white-space: initial
;
696 .checks .list li:last-of-type {
697 padding-block-end: 4px;
700 .accessibility-check code {
701 background-color: var
(--accessibility-code-background
);
703 box-decoration-break: clone
;
707 .accessibility-check .icon {
709 -moz-context-properties: fill
;
711 margin-block-start: 2px;
712 margin-inline-end: 4px;
715 .accessibility-check .icon[data-score="FAIL"] {
716 fill: var
(--theme-icon-error-color
);
719 .accessibility-check .icon[data-score="WARNING"] {
720 fill: var
(--theme-icon-warning-color
);
723 .accessibility-check .icon[data-score="BEST_PRACTICES"] {
727 .accessibility-check
,
728 .accessibility-color-contrast {
735 .accessibility-check {
736 flex-direction: column
;
737 padding: 4px var
(--accessibility-horizontal-indent
);
741 .accessibility-check-header {
744 font-size: var
(--accessibility-font-size
);
745 line-height: var
(--theme-toolbar-height
);
748 .accessibility-check-annotation {
752 color: var
(--badge-color
);
755 .accessibility-check-annotation .link {
760 .accessibility-color-contrast .accessibility-contrast-value:not(:empty) {
761 margin-block-end: 4px;
764 .accessibility-color-contrast .accessibility-contrast-value:not(:empty):before {
768 display: inline-flex
;
769 background-color: var
(--accessibility-contrast-color
);
770 box-shadow: 0 0 0 1px var
(--grey-40
), 6px 5px var
(--accessibility-contrast-bg
), 6px 5px 0 1px var
(--grey-40
);
771 margin-inline-end: 11px;
774 .accessibility-color-contrast .accessibility-contrast-value:first-child:not(:empty):before {
775 margin-inline-start: 1px;
778 .accessibility-color-contrast .accessibility-contrast-value:not(:first-child, :empty):before {
779 margin-inline-start: 4px;
782 .accessibility-color-contrast .accessibility-color-contrast-label:after {
786 .accessibility-color-contrast
.accessibility-color-contrast-label
,
787 .accessibility-color-contrast .accessibility-color-contrast-separator:before {
788 margin-inline-end: 3px;
791 .devtools-toolbar .toolbar-menu-button.simulation::before {
794 margin-inline-end: 3px;
795 margin-inline-start: 0;
796 background: url
("chrome://devtools/skin/images/eye.svg") no-repeat
;
797 -moz-context-properties: fill
, stroke
;
798 fill: var
(--theme-icon-color
);
799 stroke: var
(--theme-icon-color
);
800 vertical-align: -2px;
803 .devtools-toolbar
.toolbar-menu-button
.active
,
804 .devtools-toolbar .toolbar-menu-button.active.devtools-button:not(:empty, .checked, :disabled):focus {
805 color: var
(--theme-toolbar-selected-color
);
808 .devtools-toolbar .toolbar-menu-button.simulation.active::before {
809 fill: var
(--theme-toolbar-selected-color
);
810 stroke: var
(--theme-toolbar-selected-color
);
813 #simulation-menu-button-menu .link
{
814 background-color: transparent
;
818 #simulation-menu-button-menu .link:focus
,
819 #simulation-menu-button-menu .link:hover
{
820 background-color: var
(--theme-arrowpanel-dimmed
);