@openui5/sap.uxap 1.133.0 → 1.134.0
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/.reuse/dep5 +0 -7
- package/THIRDPARTY.txt +1 -22
- package/package.json +5 -5
- package/src/sap/uxap/.library +1 -1
- package/src/sap/uxap/BlockBase.js +5 -26
- package/src/sap/uxap/BlockBaseMetadata.js +1 -1
- package/src/sap/uxap/ObjectPageAccessibleLandmarkInfo.js +1 -1
- package/src/sap/uxap/ObjectPageDynamicHeaderContent.js +1 -1
- package/src/sap/uxap/ObjectPageDynamicHeaderTitle.js +2 -9
- package/src/sap/uxap/ObjectPageLayout.js +9 -0
- package/src/sap/uxap/ObjectPageLazyLoader.js +1 -1
- package/src/sap/uxap/ObjectPageSection.js +11 -2
- package/src/sap/uxap/ObjectPageSectionBase.js +2 -4
- package/src/sap/uxap/ObjectPageSubSection.js +11 -9
- package/src/sap/uxap/ObjectPageSubSectionRenderer.js +6 -3
- package/src/sap/uxap/changeHandler/AddIFrameObjectPageLayout.js +1 -1
- package/src/sap/uxap/changeHandler/MoveObjectPageSection.js +1 -1
- package/src/sap/uxap/changeHandler/RenameObjectPageSection.js +1 -1
- package/src/sap/uxap/changeHandler/UnstashObjectPageSection.js +1 -1
- package/src/sap/uxap/library.js +2 -2
- package/src/sap/uxap/themes/base/ObjectPageSubSection.less +3 -3
- package/src/sap/uxap/themes/sap_hcb/ObjectPageSubSection.less +1 -1
- package/src/sap/uxap/themes/sap_hcb/base_ObjectPageSubSection.less +3 -3
- package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +0 -5
package/.reuse/dep5
CHANGED
|
@@ -364,13 +364,6 @@ Copyright:
|
|
|
364
364
|
License: Apache-2.0 and ISC
|
|
365
365
|
Comment: these files contain content from SAP and node-lru-cache: LRUPersistentCache.js is overall written by SAP, but portions ('Least Recently Used' logic) are taken from the node-lru-cache project (see https://github.com/isaacs/node-lru-cache/blob/v2.7.3/README.md) and modified.
|
|
366
366
|
|
|
367
|
-
Files: src/sap.ui.core/test/sap/ui/core/qunit/i18n/helper/_timezones.js
|
|
368
|
-
Copyright:
|
|
369
|
-
2009-2024 SAP SE or an SAP affiliate company and OpenUI5 contributors
|
|
370
|
-
Arthur David Olson, Paul Eggert and other contributors
|
|
371
|
-
License: Apache-2.0 and LicenseRef-tzdata-PublicDomain
|
|
372
|
-
Comment: these files contain content from SAP and Time Zone Database: _timezones.js is overall written by SAP, but the list of IANA timezone IDs is taken from the Timezone Database
|
|
373
|
-
|
|
374
367
|
|
|
375
368
|
# Library: sap.ui.documentation:
|
|
376
369
|
|
package/THIRDPARTY.txt
CHANGED
|
@@ -22,7 +22,7 @@ Contained in: src/sap.m/test/sap/m/qunit/_thirdparty/qunit-composite.css
|
|
|
22
22
|
|
|
23
23
|
Library: sap.ui.codeeditor:
|
|
24
24
|
|
|
25
|
-
Component: Ace (Ajax.org Cloud9 Editor), version: 1.
|
|
25
|
+
Component: Ace (Ajax.org Cloud9 Editor), version: 1.36.5
|
|
26
26
|
Copyright: 2010, Ajax.org B.V.
|
|
27
27
|
License: BSD-3-Clause
|
|
28
28
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
|
|
@@ -342,12 +342,6 @@ License: ISC
|
|
|
342
342
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/ISC.txt
|
|
343
343
|
Contained in: src/sap.ui.core/src/sap/ui/core/cache/LRUPersistentCache.js
|
|
344
344
|
|
|
345
|
-
Component: Time Zone Database, version: 2024b
|
|
346
|
-
Copyright: Arthur David Olson, Paul Eggert and other contributors
|
|
347
|
-
License: LicenseRef-tzdata-PublicDomain
|
|
348
|
-
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/LicenseRef-tzdata-PublicDomain.txt
|
|
349
|
-
Contained in: src/sap.ui.core/test/sap/ui/core/qunit/i18n/helper/_timezones.js
|
|
350
|
-
|
|
351
345
|
|
|
352
346
|
Library: sap.ui.documentation:
|
|
353
347
|
|
|
@@ -1015,21 +1009,6 @@ END of license: LicenseRef-Unicode-3.0
|
|
|
1015
1009
|
=================================
|
|
1016
1010
|
|
|
1017
1011
|
|
|
1018
|
-
=================================
|
|
1019
|
-
BEGIN of license: LicenseRef-tzdata-PublicDomain
|
|
1020
|
-
=================================
|
|
1021
|
-
|
|
1022
|
-
Unless specified below, all files in the tz code and data (including
|
|
1023
|
-
this LICENSE file) are in the public domain.
|
|
1024
|
-
|
|
1025
|
-
If the files date.c, newstrftime.3, and strftime.c are present, they
|
|
1026
|
-
contain material derived from BSD and use the BSD 3-clause license.
|
|
1027
|
-
|
|
1028
|
-
=================================
|
|
1029
|
-
END of license: LicenseRef-tzdata-PublicDomain
|
|
1030
|
-
=================================
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
1012
|
=================================
|
|
1034
1013
|
BEGIN of license: MIT
|
|
1035
1014
|
=================================
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.uxap",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.134.0",
|
|
4
4
|
"description": "OpenUI5 UI Library sap.uxap",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
"url": "https://github.com/SAP/openui5.git"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@openui5/sap.f": "1.
|
|
18
|
-
"@openui5/sap.m": "1.
|
|
19
|
-
"@openui5/sap.ui.core": "1.
|
|
20
|
-
"@openui5/sap.ui.layout": "1.
|
|
17
|
+
"@openui5/sap.f": "1.134.0",
|
|
18
|
+
"@openui5/sap.m": "1.134.0",
|
|
19
|
+
"@openui5/sap.ui.core": "1.134.0",
|
|
20
|
+
"@openui5/sap.ui.layout": "1.134.0"
|
|
21
21
|
}
|
|
22
22
|
}
|
package/src/sap/uxap/.library
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
<name>sap.uxap</name>
|
|
5
5
|
<vendor>SAP SE</vendor>
|
|
6
|
-
<version>1.
|
|
6
|
+
<version>1.134.0</version>
|
|
7
7
|
<copyright>OpenUI5
|
|
8
8
|
* (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
|
|
9
9
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
|
|
@@ -202,7 +202,6 @@ sap.ui.define([
|
|
|
202
202
|
this._oMappingApplied = {};
|
|
203
203
|
|
|
204
204
|
//lazy loading
|
|
205
|
-
this._bLazyLoading = false; //by default, no lazy loading so we can use it out of an objectPageLayout
|
|
206
205
|
this._bConnected = false; //indicates connectToModels function has been called
|
|
207
206
|
this._oUpdatedModels = {};
|
|
208
207
|
this._oParentObjectPageSubSection = null; // the parent ObjectPageSubSection
|
|
@@ -211,8 +210,6 @@ sap.ui.define([
|
|
|
211
210
|
};
|
|
212
211
|
|
|
213
212
|
BlockBase.prototype.onBeforeRendering = function () {
|
|
214
|
-
var oParentObjectPageLayout;
|
|
215
|
-
|
|
216
213
|
this._applyMapping();
|
|
217
214
|
|
|
218
215
|
if (!this.getMode() || this.getMode() === "") {
|
|
@@ -225,10 +222,6 @@ sap.ui.define([
|
|
|
225
222
|
}
|
|
226
223
|
|
|
227
224
|
this._applyFormAdjustment();
|
|
228
|
-
|
|
229
|
-
//TODO: for iconTabBar mode, specify lazyLoading for selectedTab only?
|
|
230
|
-
oParentObjectPageLayout = this._getObjectPageLayout();
|
|
231
|
-
this._bLazyLoading = oParentObjectPageLayout && (oParentObjectPageLayout.getEnableLazyLoading() || oParentObjectPageLayout.getUseIconTabBar());
|
|
232
225
|
};
|
|
233
226
|
|
|
234
227
|
BlockBase.prototype.onAfterRendering = function () {
|
|
@@ -250,7 +243,6 @@ sap.ui.define([
|
|
|
250
243
|
Control.prototype.setParent.call(this, oParent, sAggregationName, bSuppressInvalidate);
|
|
251
244
|
|
|
252
245
|
if (oParent?.isA("sap.uxap.ObjectPageSubSection")) {
|
|
253
|
-
this._bLazyLoading = true;
|
|
254
246
|
this._oParentObjectPageSubSection = oParent;
|
|
255
247
|
}
|
|
256
248
|
};
|
|
@@ -365,13 +357,6 @@ sap.ui.define([
|
|
|
365
357
|
if (this.getMode() !== sMode) {
|
|
366
358
|
this.setProperty("mode", sMode, false);
|
|
367
359
|
|
|
368
|
-
// Update the this._bLazyLoading here: setMode is called by ObjectPageSubSection in onBeforeRendering,
|
|
369
|
-
// as at this point enableLazyLoading property of OPL is already set.
|
|
370
|
-
// onBeforeRendering of BlockBase is still not called! That's why this._bLazyLoading may not be in a valid state
|
|
371
|
-
// (previously set as true in setParent function, as it is placed in ObjectPageSubSection).
|
|
372
|
-
// If this._bLazyLoading is not updated at this point and enableLazyLoading=false, view will never be selected, binding will never be updated.
|
|
373
|
-
this._updateLazyLoad();
|
|
374
|
-
|
|
375
360
|
//if Lazy loading is enabled, and if the block is not connected
|
|
376
361
|
//delay the view creation (will be done in connectToModels function)
|
|
377
362
|
if (!this._shouldLazyLoad()) {
|
|
@@ -781,7 +766,7 @@ sap.ui.define([
|
|
|
781
766
|
if (!this._bConnected) {
|
|
782
767
|
Log.debug("BlockBase :: Connecting block to the UI5 model tree");
|
|
783
768
|
this._bConnected = true;
|
|
784
|
-
if (this.
|
|
769
|
+
if (this._getObjectPageLayout()?._isLazyLoadingEffectivelyEnabled()) {
|
|
785
770
|
//if lazy loading is enabled, the view has not been created during the setMode
|
|
786
771
|
//so create it now
|
|
787
772
|
var sMode = this.getMode();
|
|
@@ -860,16 +845,10 @@ sap.ui.define([
|
|
|
860
845
|
* @private
|
|
861
846
|
*/
|
|
862
847
|
BlockBase.prototype._shouldLazyLoad = function () {
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
* Updates this._bLazyLoading property.
|
|
868
|
-
* @private
|
|
869
|
-
*/
|
|
870
|
-
BlockBase.prototype._updateLazyLoad = function () {
|
|
871
|
-
var oParentObjectPageLayout = this._getObjectPageLayout(this._oParentObjectPageSubSection);
|
|
872
|
-
this._bLazyLoading = oParentObjectPageLayout && (oParentObjectPageLayout.getEnableLazyLoading() || oParentObjectPageLayout.getUseIconTabBar());
|
|
848
|
+
var oParentObjectPageLayout = this._getObjectPageLayout(this._oParentObjectPageSubSection),
|
|
849
|
+
vLazyLoad = oParentObjectPageLayout?._isLazyLoadingEffectivelyEnabled(),
|
|
850
|
+
bDelayLoading = vLazyLoad === true || vLazyLoad === undefined; // delay loading until the value of the "enableLazyLoading" property of ObjectPage is known
|
|
851
|
+
return !!this._oParentObjectPageSubSection && bDelayLoading && !this._bConnected;
|
|
873
852
|
};
|
|
874
853
|
|
|
875
854
|
/**
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @implements sap.uxap.IHeaderTitle
|
|
43
43
|
*
|
|
44
44
|
* @author SAP SE
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.134.0
|
|
46
46
|
*
|
|
47
47
|
* @constructor
|
|
48
48
|
* @public
|
|
@@ -110,20 +110,13 @@ sap.ui.define([
|
|
|
110
110
|
return true;
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
-
ObjectPageDynamicHeaderTitle.KNOWN_HEADING_CONTROL_CLASS_NAMES = ["sap.m.Title", "sap.m.Text", "sap.m.FormattedText", "sap.m.Label"];
|
|
114
|
-
|
|
115
113
|
/**
|
|
116
114
|
* Returns the text that represents the title of the page.
|
|
117
115
|
* Since the structure is not guaranteed, this is not universal for this header, and only covers the most common usage.
|
|
118
116
|
* Required by the {@link sap.uxap.IHeaderTitle} interface.
|
|
119
117
|
*/
|
|
120
118
|
ObjectPageDynamicHeaderTitle.prototype.getTitleText = function () {
|
|
121
|
-
|
|
122
|
-
sClassName = oHeading && oHeading.getMetadata().getName();
|
|
123
|
-
|
|
124
|
-
if (ObjectPageDynamicHeaderTitle.KNOWN_HEADING_CONTROL_CLASS_NAMES.indexOf(sClassName) > -1) {
|
|
125
|
-
return oHeading.getText();
|
|
126
|
-
}
|
|
119
|
+
return this._getTitleText();
|
|
127
120
|
};
|
|
128
121
|
|
|
129
122
|
/**
|
|
@@ -1952,6 +1952,15 @@ sap.ui.define([
|
|
|
1952
1952
|
}
|
|
1953
1953
|
};
|
|
1954
1954
|
|
|
1955
|
+
/**
|
|
1956
|
+
* Checks if lazy loading is effectively enabled based on multiple conditions
|
|
1957
|
+
* @restricted
|
|
1958
|
+
* @returns {boolean}
|
|
1959
|
+
*/
|
|
1960
|
+
ObjectPageLayout.prototype._isLazyLoadingEffectivelyEnabled = function() {
|
|
1961
|
+
return this.getEnableLazyLoading() || this.getUseIconTabBar();
|
|
1962
|
+
};
|
|
1963
|
+
|
|
1955
1964
|
/* AnchorBar management */
|
|
1956
1965
|
|
|
1957
1966
|
ObjectPageLayout.prototype.setShowAnchorBarPopover = function (bValue, bSuppressInvalidate) {
|
|
@@ -96,6 +96,9 @@ sap.ui.define([
|
|
|
96
96
|
|
|
97
97
|
/**
|
|
98
98
|
* The list of Subsections.
|
|
99
|
+
*
|
|
100
|
+
* Note: If multiple subsections are used, it is highly recommended to set a title for the section
|
|
101
|
+
* for accessibility reasons.
|
|
99
102
|
*/
|
|
100
103
|
subSections: {type: "sap.uxap.ObjectPageSubSection", multiple: true, singularName: "subSection", forwarding: {getter: "_getGrid", aggregation: "content"}},
|
|
101
104
|
|
|
@@ -407,7 +410,7 @@ sap.ui.define([
|
|
|
407
410
|
}
|
|
408
411
|
|
|
409
412
|
aSubSections.forEach(function (oSubsection) {
|
|
410
|
-
if (sLastSelectedSubSectionId === oSubsection.getId()) {
|
|
413
|
+
if (sLastSelectedSubSectionId === oSubsection.getId() && oSubsection._shouldBeFocusable()) {
|
|
411
414
|
oSubsection._setToFocusable(true);
|
|
412
415
|
bPreselectedSection = true;
|
|
413
416
|
} else {
|
|
@@ -416,7 +419,13 @@ sap.ui.define([
|
|
|
416
419
|
});
|
|
417
420
|
|
|
418
421
|
if (!bPreselectedSection) {
|
|
419
|
-
aSubSections
|
|
422
|
+
var oFirstFocusableSubSection = aSubSections.find(function(oSubSection) {
|
|
423
|
+
return oSubSection._shouldBeFocusable();
|
|
424
|
+
});
|
|
425
|
+
|
|
426
|
+
if (oFirstFocusableSubSection) {
|
|
427
|
+
oFirstFocusableSubSection._setToFocusable(true);
|
|
428
|
+
}
|
|
420
429
|
}
|
|
421
430
|
|
|
422
431
|
return this;
|
|
@@ -437,10 +437,8 @@ sap.ui.define([
|
|
|
437
437
|
*/
|
|
438
438
|
ObjectPageSectionBase.prototype._getAriaLabelledByText = function () {
|
|
439
439
|
// Each section should be labelled as:
|
|
440
|
-
// 'titleName' - if the section has a title
|
|
441
|
-
|
|
442
|
-
var sTitle = this._getShouldLabelTitle() && this._getTitle();
|
|
443
|
-
return sTitle || this.getSectionText();
|
|
440
|
+
// 'titleName' - no matter if the section has a title or not
|
|
441
|
+
return this._getTitle();
|
|
444
442
|
};
|
|
445
443
|
|
|
446
444
|
ObjectPageSectionBase.prototype._getInvisibleText = function () {
|
|
@@ -697,7 +697,7 @@ sap.ui.define([
|
|
|
697
697
|
|
|
698
698
|
// Removes the horizontal spacing of the grid, which is needed for
|
|
699
699
|
// suport of Table inside ObjectPageSubSection scenario
|
|
700
|
-
if (oParent && oParent.hasStyleClass("sapUiTableOnObjectPageAdjustmentsForSection")) {
|
|
700
|
+
if (oParent && oParent.hasStyleClass("sapUiTableOnObjectPageAdjustmentsForSection") && !this.hasStyleClass("sapUiAdjustedSectionSubsectionWithoutTable")) {
|
|
701
701
|
this.getAggregation("_grid").setProperty("hSpacing", 0);
|
|
702
702
|
}
|
|
703
703
|
};
|
|
@@ -720,6 +720,7 @@ sap.ui.define([
|
|
|
720
720
|
this.refreshSeeMoreVisibility();
|
|
721
721
|
|
|
722
722
|
this.toggleStyleClass("sapUxAPObjectPageSubSectionStashed", this._aStashedControls.length ? true : false);
|
|
723
|
+
this.toggleStyleClass("sapUxAPObjectPageSubSectionFocusable", this.getTitleVisible());
|
|
723
724
|
};
|
|
724
725
|
|
|
725
726
|
ObjectPageSubSection.prototype._adaptDomHeight = function() {
|
|
@@ -1284,19 +1285,20 @@ sap.ui.define([
|
|
|
1284
1285
|
};
|
|
1285
1286
|
|
|
1286
1287
|
ObjectPageSubSection.prototype._setToFocusable = function (bFocusable) {
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
sTabIndex = "tabindex";
|
|
1290
|
-
|
|
1291
|
-
if (bFocusable) {
|
|
1292
|
-
this.$().attr(sTabIndex, sFocusable);
|
|
1288
|
+
if (this._shouldBeFocusable()) {
|
|
1289
|
+
this.$().attr("tabindex", bFocusable ? "0" : "-1");
|
|
1293
1290
|
} else {
|
|
1294
|
-
this.$().
|
|
1291
|
+
this.$().removeAttr("tabindex");
|
|
1295
1292
|
}
|
|
1296
|
-
|
|
1297
1293
|
return this;
|
|
1298
1294
|
};
|
|
1299
1295
|
|
|
1296
|
+
|
|
1297
|
+
ObjectPageSubSection.prototype._shouldBeFocusable = function() {
|
|
1298
|
+
return this.getTitleVisible() && this.getTitle().trim() !== "";
|
|
1299
|
+
};
|
|
1300
|
+
|
|
1301
|
+
|
|
1300
1302
|
ObjectPageSubSection.prototype._getUseTitleOnTheLeft = function () {
|
|
1301
1303
|
var oObjectPageLayout = this._getObjectPageLayout();
|
|
1302
1304
|
|
|
@@ -31,8 +31,11 @@ sap.ui.define(["sap/ui/core/ControlBehavior"], function (ControlBehavior) {
|
|
|
31
31
|
bHasVisibleActions = oControl._hasVisibleActions();
|
|
32
32
|
|
|
33
33
|
oRm.openStart("div", oControl)
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
.style("height", oControl._getHeight());
|
|
35
|
+
|
|
36
|
+
if (bHasTitle) {
|
|
37
|
+
oRm.attr("role", "region");
|
|
38
|
+
}
|
|
36
39
|
|
|
37
40
|
if (oControl._bBlockHasMore) {
|
|
38
41
|
oRm.class("sapUxAPObjectPageSubSectionWithSeeMore");
|
|
@@ -46,7 +49,7 @@ sap.ui.define(["sap/ui/core/ControlBehavior"], function (ControlBehavior) {
|
|
|
46
49
|
.class("ui-helper-clearfix");
|
|
47
50
|
|
|
48
51
|
|
|
49
|
-
if (bAccessibilityOn && oLabelledBy) {
|
|
52
|
+
if (bAccessibilityOn && oLabelledBy && bHasTitle) {
|
|
50
53
|
oRm.attr("aria-labelledby", oLabelledBy.getId());
|
|
51
54
|
}
|
|
52
55
|
|
package/src/sap/uxap/library.js
CHANGED
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
* @namespace
|
|
31
31
|
* @alias sap.uxap
|
|
32
32
|
* @author SAP SE
|
|
33
|
-
* @version 1.
|
|
33
|
+
* @version 1.134.0
|
|
34
34
|
* @since 1.36
|
|
35
35
|
* @public
|
|
36
36
|
*/
|
|
@@ -74,7 +74,7 @@ sap.ui.define([
|
|
|
74
74
|
"sap.uxap.ObjectPageHeaderLayoutData",
|
|
75
75
|
"sap.uxap.ObjectPageLazyLoader"
|
|
76
76
|
],
|
|
77
|
-
version: "1.
|
|
77
|
+
version: "1.134.0",
|
|
78
78
|
extensions: {
|
|
79
79
|
flChangeHandlers: {
|
|
80
80
|
"sap.uxap.ObjectPageHeader": "sap/uxap/flexibility/ObjectPageHeader",
|
|
@@ -211,18 +211,18 @@ Doing so will result in less generated CSS, as well as less future maintanance i
|
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
html[data-sap-ui-browser^="ed"].sap-desktop .
|
|
214
|
+
html[data-sap-ui-browser^="ed"].sap-desktop .sapUxAPObjectPageSubSectionFocusable:focus {
|
|
215
215
|
outline-style: dashed;
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
/* IE ignores outline-offset. Use an overlay: */
|
|
219
219
|
/* TODO remove after the end of support for Internet Explorer */
|
|
220
220
|
html[data-sap-ui-browser^="ie"].sap-desktop {
|
|
221
|
-
.
|
|
221
|
+
.sapUxAPObjectPageSubSectionFocusable:focus {
|
|
222
222
|
outline: none;
|
|
223
223
|
position: relative;
|
|
224
224
|
}
|
|
225
|
-
.
|
|
225
|
+
.sapUxAPObjectPageSubSectionFocusable:focus:before {
|
|
226
226
|
content: " ";
|
|
227
227
|
box-sizing: border-box;
|
|
228
228
|
width: 100%;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* High Contrast Black theme */
|
|
4
4
|
/* ============================================== */
|
|
5
5
|
|
|
6
|
-
.
|
|
6
|
+
.sapUxAPObjectPageSubSectionFocusable:focus,
|
|
7
7
|
.sapUxAPObjectPageSubSectionHeaderTitle:focus {
|
|
8
8
|
outline: 0.125rem dotted @sapUiContentFocusColor;
|
|
9
9
|
outline-offset: -0.125rem;
|
|
@@ -211,18 +211,18 @@ Doing so will result in less generated CSS, as well as less future maintanance i
|
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
html[data-sap-ui-browser^="ed"].sap-desktop .
|
|
214
|
+
html[data-sap-ui-browser^="ed"].sap-desktop .sapUxAPObjectPageSubSectionFocusable:focus {
|
|
215
215
|
outline-style: dashed;
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
/* IE ignores outline-offset. Use an overlay: */
|
|
219
219
|
/* TODO remove after the end of support for Internet Explorer */
|
|
220
220
|
html[data-sap-ui-browser^="ie"].sap-desktop {
|
|
221
|
-
.
|
|
221
|
+
.sapUxAPObjectPageSubSectionFocusable:focus {
|
|
222
222
|
outline: none;
|
|
223
223
|
position: relative;
|
|
224
224
|
}
|
|
225
|
-
.
|
|
225
|
+
.sapUxAPObjectPageSubSectionFocusable:focus:before {
|
|
226
226
|
content: " ";
|
|
227
227
|
box-sizing: border-box;
|
|
228
228
|
width: 100%;
|