-
-
-
-
- @if (tagsEnabled && entry.tags && entry.tags!.length > 0) {
-
-
- {{ 'core.tag.tags' | translate }}:
-
-
-
- }
-
- @for (file of entry.attachmentfiles; track $index) {
-
- }
-
- @if (entry.uniquehash) {
-
- {{ 'addon.blog.linktooriginalentry' | translate }}
-
- }
-
+
+
+
-
+
+ @if (tagsEnabled && entry.tags && entry.tags!.length > 0) {
+
+
+ {{ 'core.tag.tags' | translate }}:
+
+
+
+ }
+
+ @for (file of entry.attachmentfiles; track $index) {
+
+ }
+
+ @if (entry.uniquehash) {
+
+ {{ 'addon.blog.linktooriginalentry' | translate }}
+
+ }
+
+
@if (entry.lastmodified > entry.created || (entry.userid === currentUserId && entry.publishstate !== 'draft')) {
diff --git a/src/addons/blog/pages/index/index.scss b/src/addons/blog/pages/index/index.scss
index 16cd7210f..c610046a4 100644
--- a/src/addons/blog/pages/index/index.scss
+++ b/src/addons/blog/pages/index/index.scss
@@ -7,7 +7,7 @@
}
.entry {
- border-top: 1px solid var(--stroke);
+ border-bottom: 1px solid var(--stroke);
&-visibility-permission {
display: flex;
diff --git a/src/addons/calendar/components/filter/filter.html b/src/addons/calendar/components/filter/filter.html
index 5d746163a..ba83242d3 100644
--- a/src/addons/calendar/components/filter/filter.html
+++ b/src/addons/calendar/components/filter/filter.html
@@ -9,7 +9,7 @@
-
+
{{ 'addon.calendar.' + type + 'events' | translate}}
diff --git a/src/addons/messageoutput/airnotifier/pages/devices/devices.html b/src/addons/messageoutput/airnotifier/pages/devices/devices.html
index f37297344..a1d79e116 100644
--- a/src/addons/messageoutput/airnotifier/pages/devices/devices.html
+++ b/src/addons/messageoutput/airnotifier/pages/devices/devices.html
@@ -21,7 +21,8 @@
-
+
{{ device.name }} {{ device.model }} ({{platform.platform}} {{ device.version }})
diff --git a/src/addons/messages/pages/settings/settings.html b/src/addons/messages/pages/settings/settings.html
index c638b6e6b..e4d5a634c 100644
--- a/src/addons/messages/pages/settings/settings.html
+++ b/src/addons/messages/pages/settings/settings.html
@@ -21,7 +21,7 @@
{{ 'core.settings.general' | translate }}
-
+
{{ 'addon.messages.useentertosend' | translate }}
@@ -31,7 +31,7 @@
-
+
{{ 'addon.messages.blocknoncontacts' | translate }}
@@ -95,7 +95,7 @@
-
+
{{ 'core.settings.' + state | translate }}
@@ -131,7 +131,7 @@
-
+
{{ processor.displayname }}
diff --git a/src/addons/mod/assign/components/submission/addon-mod-assign-submission.html b/src/addons/mod/assign/components/submission/addon-mod-assign-submission.html
index 0cf93f8f1..13de238a2 100644
--- a/src/addons/mod/assign/components/submission/addon-mod-assign-submission.html
+++ b/src/addons/mod/assign/components/submission/addon-mod-assign-submission.html
@@ -345,7 +345,7 @@
-
+
{{ 'addon.mod_assign.groupsubmissionsettings' | translate }}
{{ 'addon.mod_assign.applytoteam' | translate }}
@@ -371,7 +371,7 @@
-
+
{{ 'addon.mod_assign.addattempt' | translate }}
diff --git a/src/addons/mod/chat/pages/sessions/sessions.html b/src/addons/mod/chat/pages/sessions/sessions.html
index c85c3d68c..6b307bfe8 100644
--- a/src/addons/mod/chat/pages/sessions/sessions.html
+++ b/src/addons/mod/chat/pages/sessions/sessions.html
@@ -16,7 +16,7 @@
-
+
{{ 'addon.mod_chat.showincompletesessions' | translate }}
diff --git a/src/addons/mod/data/components/search/search.html b/src/addons/mod/data/components/search/search.html
index 479fb2eb3..34b019cc4 100644
--- a/src/addons/mod/data/components/search/search.html
+++ b/src/addons/mod/data/components/search/search.html
@@ -11,7 +11,7 @@
-
+
{{ 'addon.mod_data.advancedsearch' | translate }}
diff --git a/src/addons/mod/forum/pages/new-discussion/new-discussion.html b/src/addons/mod/forum/pages/new-discussion/new-discussion.html
index 4971fdd2b..5ce021178 100644
--- a/src/addons/mod/forum/pages/new-discussion/new-discussion.html
+++ b/src/addons/mod/forum/pages/new-discussion/new-discussion.html
@@ -38,7 +38,7 @@
-
1 && accessInfo.cancanposttomygroups">
+ 1 && accessInfo.cancanposttomygroups" class="ion-no-validation">
{{ 'addon.mod_forum.posttomygroups' | translate }}
@@ -54,12 +54,12 @@
-
+
{{ 'addon.mod_forum.discussionsubscription' | translate }}
-
+
{{ 'addon.mod_forum.discussionpinned' | translate }}
diff --git a/src/addons/mod/glossary/pages/edit/edit.html b/src/addons/mod/glossary/pages/edit/edit.html
index 6cde74e13..ca1ad36b2 100644
--- a/src/addons/mod/glossary/pages/edit/edit.html
+++ b/src/addons/mod/glossary/pages/edit/edit.html
@@ -53,17 +53,17 @@
{{ 'addon.mod_glossary.linking' | translate }}
-
+
{{ 'addon.mod_glossary.entryusedynalink' | translate }}
-
+
{{ 'addon.mod_glossary.casesensitive' | translate }}
-
+
{{ 'addon.mod_glossary.fullmatch' | translate }}
diff --git a/src/addons/mod/workshop/pages/submission/submission.html b/src/addons/mod/workshop/pages/submission/submission.html
index 12c878730..9369bd485 100644
--- a/src/addons/mod/workshop/pages/submission/submission.html
+++ b/src/addons/mod/workshop/pages/submission/submission.html
@@ -99,7 +99,7 @@
{{ 'addon.mod_workshop.feedbackauthor' | translate }}
-
+
{{ 'addon.mod_workshop.publishsubmission' | translate }}
{{ 'addon.mod_workshop.publishsubmission_help' | translate }}
diff --git a/src/addons/notifications/pages/settings/settings.html b/src/addons/notifications/pages/settings/settings.html
index 0348dcf1c..f14d84f42 100644
--- a/src/addons/notifications/pages/settings/settings.html
+++ b/src/addons/notifications/pages/settings/settings.html
@@ -21,12 +21,12 @@
-
+
{{ 'addon.notifications.allownotifications' | translate }}
-
+
{{ 'addon.notifications.playsound' | translate }}
@@ -79,7 +79,7 @@
-
+
diff --git a/src/core/components/combobox/combobox.scss b/src/core/components/combobox/combobox.scss
index c4964c9e7..5889ee710 100644
--- a/src/core/components/combobox/combobox.scss
+++ b/src/core/components/combobox/combobox.scss
@@ -26,12 +26,25 @@
}
}
-
ion-select,
ion-button {
--icon-margin: 0 4px;
--background: var(--core-combobox-background);
+ --background-hover: var(--ion-text-color);
+ --background-activated: var(--ion-text-color);
+ --background-focused: var(--ion-text-color);
+ --background-hover-opacity: .04;
+
+ &.md {
+ --background-activated-opacity: 0;
+ --background-focused-opacity: .12;
+ }
+
+ &.ios {
+ --background-activated-opacity: .12;
+ --background-focused-opacity: .15;
+ }
--border-color: var(--core-combobox-border-color);
--border-style: solid;
@@ -53,10 +66,7 @@
overflow: hidden;
box-shadow: var(--box-shadow);
- &:focus,
- &:focus-within {
- @include core-focus-style();
- }
+ --highlight-color: transparent !important;
}
ion-select {
@@ -65,6 +75,7 @@
border-width: var(--border-width);
border-radius: var(--core-combobox-radius);
margin: 8px;
+ width: auto;
&.combobox-icon-only {
&::part(text) {
@@ -80,6 +91,21 @@
&::part(icon) {
margin: var(--icon-margin);
opacity: 1;
+ --highlight-color: currentColor;
+ }
+
+ &:hover {
+ --background: rgba(var(--ion-text-color-rgb), var(--background-hover-opacity));
+ }
+
+ &:focus,
+ &:focus-visible,
+ &.ion-focused {
+ --background: rgba(var(--ion-text-color-rgb), var(--background-focused-opacity));
+ }
+
+ &.ion-activated {
+ --background: rgba(var(--ion-text-color-rgb), var(--background-activated-opacity));
}
}
@@ -89,21 +115,6 @@
--color-focused: currentcolor;
--color-hover: currentcolor;
- --background-hover: black;
- --background-activated: black;
- --background-focused: black;
- --background-hover-opacity: .04;
-
- &.md {
- --background-activated-opacity: 0;
- --background-focused-opacity: .12;
- }
-
- &.ios {
- --background-activated-opacity: .12;
- --background-focused-opacity: .15;
- }
-
border-radius: var(--core-combobox-radius);
margin: 4px 8px;
diff --git a/src/core/components/context-menu/core-context-menu-popover.html b/src/core/components/context-menu/core-context-menu-popover.html
index 9e844194a..8e2c4ca4e 100644
--- a/src/core/components/context-menu/core-context-menu-popover.html
+++ b/src/core/components/context-menu/core-context-menu-popover.html
@@ -3,9 +3,9 @@
{{title}}
-
diff --git a/src/core/components/mod-icon/mod-icon.ts b/src/core/components/mod-icon/mod-icon.ts
index a70c6862a..469e334a8 100644
--- a/src/core/components/mod-icon/mod-icon.ts
+++ b/src/core/components/mod-icon/mod-icon.ts
@@ -55,7 +55,7 @@ export class CoreModIconComponent implements OnInit, OnChanges {
@HostBinding('attr.role')
get getRole(): string | null {
- return !this.showAlt ? 'presentation' : null;
+ return this.showAlt ? 'img' : 'presentation';
}
@HostBinding('attr.aria-label')
diff --git a/src/core/components/swipe-slides/swipe-slides.html b/src/core/components/swipe-slides/swipe-slides.html
index 490a6f3e3..aeeff91a2 100644
--- a/src/core/components/swipe-slides/swipe-slides.html
+++ b/src/core/components/swipe-slides/swipe-slides.html
@@ -1,5 +1,6 @@
-
+
diff --git a/src/core/components/tabs-outlet/core-tabs-outlet.html b/src/core/components/tabs-outlet/core-tabs-outlet.html
index 1819ef577..f1af5a514 100644
--- a/src/core/components/tabs-outlet/core-tabs-outlet.html
+++ b/src/core/components/tabs-outlet/core-tabs-outlet.html
@@ -8,8 +8,8 @@
-
+
-
+
Change text direction
{{ direction }}
-
+
Force safe area margins
@@ -34,13 +34,13 @@
-
+
Enable remote styles {{remoteStylesCount}}
-
+
Enable site plugin styles {{pluginStylesCount}}
diff --git a/src/core/features/settings/pages/deviceinfo/deviceinfo.html b/src/core/features/settings/pages/deviceinfo/deviceinfo.html
index 98a838f0f..bda6b9467 100644
--- a/src/core/features/settings/pages/deviceinfo/deviceinfo.html
+++ b/src/core/features/settings/pages/deviceinfo/deviceinfo.html
@@ -18,7 +18,7 @@
-
+
{{ 'core.settings.developeroptions' | translate }}
diff --git a/src/core/features/settings/pages/general/general.html b/src/core/features/settings/pages/general/general.html
index 1a3fa3331..bd5fc3828 100644
--- a/src/core/features/settings/pages/general/general.html
+++ b/src/core/features/settings/pages/general/general.html
@@ -11,16 +11,16 @@
-
+
- {{ 'core.settings.language' | translate }}
+ {{ 'core.settings.language' | translate }}
{{ entry.name }}
-
+
- {{ 'core.settings.fontsize' | translate }}
+ {{ 'core.settings.fontsize' | translate }}
- 0" lines="none">
+ 0" lines="none">
-
{{ 'core.settings.colorscheme' | translate }}
+
{{ 'core.settings.colorscheme' | translate }}
{{ 'core.settings.forcedsetting' | translate }}
@@ -47,34 +47,34 @@
0 && selectedScheme==='system' && isAndroid" lines="none">
- {{ 'core.settings.colorscheme-system-notice' | translate }}
+ {{ 'core.settings.colorscheme-system-notice' | translate }}
-
+
- {{ 'core.settings.enablerichtexteditor' | translate }}
- {{ 'core.settings.enablerichtexteditordescription' | translate }}
+ {{ 'core.settings.enablerichtexteditor' | translate }}
+ {{ 'core.settings.enablerichtexteditordescription' | translate }}
-
+
- {{ 'core.settings.ioscookies' | translate }}
- {{ 'core.settings.ioscookiesdescription' | translate }}
+ {{ 'core.settings.ioscookies' | translate }}
+ {{ 'core.settings.ioscookiesdescription' | translate }}
{{ 'core.opensettings' | translate }}
-
+
- {{ 'core.settings.debugdisplay' | translate }}
- {{ 'core.settings.debugdisplaydescription' | translate }}
+ {{ 'core.settings.debugdisplay' | translate }}
+ {{ 'core.settings.debugdisplaydescription' | translate }}
-
+
- {{ 'core.settings.enableanalytics' | translate }}
- {{ 'core.settings.enableanalyticsdescription' | translate }}
+ {{ 'core.settings.enableanalytics' | translate }}
+ {{ 'core.settings.enableanalyticsdescription' | translate }}
diff --git a/src/core/features/settings/pages/site/site.html b/src/core/features/settings/pages/site/site.html
index d463d1ba9..100d21a13 100644
--- a/src/core/features/settings/pages/site/site.html
+++ b/src/core/features/settings/pages/site/site.html
@@ -16,7 +16,7 @@
-
diff --git a/src/core/features/settings/pages/synchronization/synchronization.html b/src/core/features/settings/pages/synchronization/synchronization.html
index 44b02e537..30718da96 100644
--- a/src/core/features/settings/pages/synchronization/synchronization.html
+++ b/src/core/features/settings/pages/synchronization/synchronization.html
@@ -23,7 +23,7 @@
{{ 'core.settings.syncsettings' | translate }}
-
+
{{ 'core.settings.syncdatasaver' | translate }}
diff --git a/src/core/services/utils/dom.ts b/src/core/services/utils/dom.ts
index 129f5218f..ff9720ac1 100644
--- a/src/core/services/utils/dom.ts
+++ b/src/core/services/utils/dom.ts
@@ -299,24 +299,38 @@ export class CoreDomUtilsProvider {
): Promise {
let retries = 10;
- let focusElement = element;
+ let elementToFocus = element;
- if ('getInputElement' in focusElement) {
- // If it's an Ionic element get the right input to use.
- focusElement.componentOnReady && await focusElement.componentOnReady();
- focusElement = await focusElement.getInputElement();
+ /**
+ * See focusElement function on Ionic Framework utils/helpers.ts.
+ */
+ if (elementToFocus.classList.contains('ion-focusable')) {
+ const app = elementToFocus.closest('ion-app');
+ if (app) {
+ app.setFocus([elementToFocus]);
+ }
+
+ if (document.activeElement === elementToFocus) {
+ return;
+ }
}
- if (!focusElement || !focusElement.focus) {
+ if ('getInputElement' in elementToFocus) {
+ // If it's an Ionic element get the right input to use.
+ elementToFocus.componentOnReady && await elementToFocus.componentOnReady();
+ elementToFocus = await elementToFocus.getInputElement();
+ }
+
+ if (!elementToFocus || !elementToFocus.focus) {
throw new CoreError('Element to focus cannot be focused');
}
- while (retries > 0 && focusElement !== document.activeElement) {
- focusElement.focus();
+ while (retries > 0 && elementToFocus !== document.activeElement) {
+ elementToFocus.focus();
- if (focusElement === document.activeElement) {
+ if (elementToFocus === document.activeElement) {
await CoreUtils.nextTick();
- if (CorePlatform.isAndroid() && this.supportsInputKeyboard(focusElement)) {
+ if (CorePlatform.isAndroid() && this.supportsInputKeyboard(elementToFocus)) {
// On some Android versions the keyboard doesn't open automatically.
CoreApp.openKeyboard();
}
diff --git a/src/theme/components/collapsible-header.scss b/src/theme/components/collapsible-header.scss
index f3f1af3f8..c890beafb 100644
--- a/src/theme/components/collapsible-header.scss
+++ b/src/theme/components/collapsible-header.scss
@@ -25,6 +25,12 @@ body:not(.core-iframe-fullscreen) .collapsible-header-page {
opacity: 0;
}
+ &.collapsible-header-page-is-collapsed .collapsible-header-floating-title {
+ pointer-events: none;
+ user-select: none;
+ visibility: hidden;
+ }
+
&:not(.collapsible-header-page-is-collapsed) .collapsible-header-collapsed {
--core-header-toolbar-border-width: 0;
--core-header-buttons-background: var(--ion-background-color);
@@ -35,6 +41,9 @@ body:not(.core-iframe-fullscreen) .collapsible-header-page {
h1 {
opacity: 0;
+ pointer-events: none;
+ user-select: none;
+ visibility: hidden;
}
}
@@ -64,7 +73,9 @@ body:not(.core-iframe-fullscreen) .collapsible-header-page {
.collapsible-header-original-title {
pointer-events: none;
+ user-select: none;
opacity: 0;
+ visibility: hidden;
}
& > *:not(.collapsible-header-floating-title-wrapper),
diff --git a/src/theme/components/error-accordion.scss b/src/theme/components/error-accordion.scss
index e99653bf6..26267c72f 100644
--- a/src/theme/components/error-accordion.scss
+++ b/src/theme/components/error-accordion.scss
@@ -8,7 +8,6 @@
--state-color-hover: rgb(40 40 40, 4%); // --gray-900 4%
--state-color-pressed: rgb(40 40 40, 12%); // --gray-900 12%
- --state-color-focused: rgb(40 40 40, 12%); // --gray-900 12%
background: var(--background-color);
border-radius: var(--mdl-shape-borderRadius-xs);
@@ -78,19 +77,12 @@
transform: rotate(0);
}
+ @include core-focus-background();
+
&:hover {
background: var(--state-color-hover);
}
- &:focus {
- box-shadow: none;
- background: var(--state-color-focused);
- }
-
- &:focus-visible {
- @include core-focus-style();
- }
-
&:active {
background: var(--state-color-pressed);
}
diff --git a/src/theme/components/ion-card.scss b/src/theme/components/ion-card.scss
index af6075e72..451a9530f 100644
--- a/src/theme/components/ion-card.scss
+++ b/src/theme/components/ion-card.scss
@@ -14,6 +14,8 @@ ion-card {
&::part(native) {
--border-width: 0;
+
+ @include core-focus-over();
}
ion-item:only-child {
diff --git a/src/theme/components/ion-item.scss b/src/theme/components/ion-item.scss
index 4febd0a8e..fa8ca802d 100644
--- a/src/theme/components/ion-item.scss
+++ b/src/theme/components/ion-item.scss
@@ -16,7 +16,7 @@ ion-item {
&.ion-invalid {
--inner-border-width: 0 0 1px 0;
- &.ion-touched {
+ &.ion-touched:not(.ion-no-validation) {
&.ion-invalid {
--ion-item-border-color: var(--highlight-color-invalid);
--highlight-background: var(--ion-item-border-color);
@@ -30,11 +30,25 @@ ion-item {
}
}
+ &.ion-no-validation {
+ --inner-border-width: 0 0 1px 0;
+ }
+
// Hide details on items to align badges.
&.hide-detail {
--detail-icon-opacity: 0;
}
+
+ &:not(.item-input) {
+ --show-full-highlight: 0;
+ --show-inset-highlight: 0;
+ }
+
+ &.item-has-interactive-control:focus-within {
+ @include core-focus-outline();
+ }
}
+
// Fake item.
div.fake-ion-item {
position: relative;
diff --git a/src/theme/components/ion-tab-bar.scss b/src/theme/components/ion-tab-bar.scss
deleted file mode 100644
index 81864b57b..000000000
--- a/src/theme/components/ion-tab-bar.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-ion-tab-bar.mainmenu-tabs {
- --background: var(--core-bottom-tabs-background);
- --color: var(--core-bottom-tabs-color);
- --color-selected: var(--core-bottom-tabs-color-selected);
- --background-selected: var(--core-bottom-tabs-background-selected);
-}
diff --git a/src/theme/helpers/custom.mixins.scss b/src/theme/helpers/custom.mixins.scss
index ae8f6e920..22272230f 100644
--- a/src/theme/helpers/custom.mixins.scss
+++ b/src/theme/helpers/custom.mixins.scss
@@ -66,7 +66,42 @@
}
}
-@mixin core-focus() {
+@mixin core-focus-over() {
+ &:focus-visible {
+ @include core-focus-over-internal();
+ }
+
+ @supports not selector(:focus-visible) {
+ @at-root:focus {
+ @include core-focus-over-internal();
+ }
+ }
+}
+
+@mixin core-focus-outline() {
+ &:focus-visible {
+ @include core-focus-outline-internal();
+ }
+ @supports not selector(:focus-visible) {
+ @at-root:focus {
+ @include core-focus-outline-internal();
+ }
+ }
+}
+
+@mixin core-focus-background() {
+ &:focus-visible {
+ @include core-focus-background-internal();
+ }
+ @supports not selector(:focus-visible) {
+ @at-root:focus {
+ @include core-focus-background-internal();
+ }
+ }
+}
+
+
+@mixin core-focus-over-internal() {
outline: none;
position: relative;
@@ -74,17 +109,26 @@
@include position(0px, 0px, 0px, 0px);
position: absolute;
content: "";
- opacity: 1;
z-index: 1;
- @include core-focus-style();
+ pointer-events: none;
+ user-select: none;
+ @include core-focus-background-internal();
}
}
-@mixin core-focus-style() {
- box-shadow: var(--a11y-shadow-focus-boxShadow);
- border-radius: var(--border-radius);
- // Thicker option:
- // outline: var(--a11y-shadow-focus-outline);
+@mixin core-focus-outline-internal() {
+ // box-shadow: var(--a11y-shadow-focus-boxShadow);
+ // border-radius: var(--border-radius);
+ outline: var(--a11y-shadow-focus-outline);
+}
+
+
+@mixin core-focus-background-internal() {
+ --background-focused: var(--background-focused, var(--a11y-background-focus-background));
+ --background-focused-opacity: var(--a11y-background-focus-opacity);
+ --background: var(--a11y-background-focus-background-rgb);
+ background: var(--background);
+ outline: none;
}
@mixin core-transition($properties: all, $duration: 500ms, $timing-function: ease-in-out) {
diff --git a/src/theme/theme.base.scss b/src/theme/theme.base.scss
index 6d661464c..d5c4c72df 100644
--- a/src/theme/theme.base.scss
+++ b/src/theme/theme.base.scss
@@ -1122,68 +1122,15 @@ td {
}
// Change default outline.
-:focus-visible {
- @include core-focus-style();
- border-radius: inherit;
- outline: none;
+.ion-activatable,
+.clickable,
+.ion-focusable.ion-focused,
+.ion-selectable {
+ @include core-focus-background();
}
-// Focus highlight for accessibility.
-.ion-focused:not(.item-multiple-inputs):not(:focus),
-ion-input.has-focus,
-ion-card:focus {
- @include core-focus();
-
- :focus-visible,
- .clickable:focus {
- box-shadow: none;
- }
-}
-
-.ion-focused.item-multiple-inputs {
- ion-toggle:focus-within,
- ion-select:focus-within,
- ion-checkbox:focus-within,
- ion-radio:focus-within {
- @include core-focus();
- }
-}
-
-// Treat cases where there's a focusable element inside an item, like a button.
-ion-item.item-input:not(.item-multiple-inputs):not(:focus),
-ion-item.item-has-focus:not(.item-multiple-inputs):not(:focus),
-ion-item.item-input ion-input.has-focus {
- position: relative;
- &::after {
- box-shadow: revert;
- opacity: revert;
- z-index: revert;
- }
- .item-highlight, .item-inner-highlight {
- position: unset;
- }
-}
-
-textarea, button, select, input, a, .clickable {
- &:focus {
- @include core-focus-style();
- outline: none;
- }
-}
-
-ion-loading:focus-visible,
-ion-alert:focus-visible,
-ion-popover:focus-visible,
-ion-modal:focus-visible {
- box-shadow: none;
- border-radius: 0;
-}
-
-ion-input .native-input {
- &:focus, &:focus-visible {
- box-shadow: none;
- outline: none;
- }
+:not(.hydrated):not(.native-input) { // Not an ionic component.
+ @include core-focus-outline();
}
ion-input,
diff --git a/src/theme/theme.design-system.scss b/src/theme/theme.design-system.scss
index ef9a41c88..6c87b8125 100644
--- a/src/theme/theme.design-system.scss
+++ b/src/theme/theme.design-system.scss
@@ -145,6 +145,9 @@ html {
--a11y-shadow-focus-borderWidth: 2px;
--a11y-shadow-focus-boxShadow: inset 0 0 var(--a11y-shadow-focus-borderWidth) 1px var(--a11y-focus-color);
--a11y-shadow-focus-outline: var(--a11y-shadow-focus-borderWidth) solid var(--a11y-focus-color);
+ --a11y-background-focus-background: var(--ion-text-color);
+ --a11y-background-focus-opacity: 0.08;
+ --a11y-background-focus-background-rgb: rgba(var(--ion-text-color-rgb), var(--a11y-background-focus-opacity));
// @TODO ***** VARIABLES TO BE REVIEWED, RENAMED AND TIDIED ***** //
--text-size: var(--mdl-typography-body-fontSize-md);
diff --git a/src/theme/theme.scss b/src/theme/theme.scss
index e177f74a0..093663e33 100644
--- a/src/theme/theme.scss
+++ b/src/theme/theme.scss
@@ -43,7 +43,6 @@ html {
@import "components/ion-popover.scss";
@import "components/ion-searchbar.scss";
@import "components/ion-spinner.scss";
- @import "components/ion-tab-bar.scss";
@import "components/ion-toast.scss";
}