@ui5/webcomponents 0.31.18 → 0.31.22
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/CHANGELOG.md +113 -0
- package/dist/Card.js +44 -19
- package/dist/Dialog.js +7 -7
- package/dist/Icon.js +11 -1
- package/dist/Input.js +9 -5
- package/dist/List.js +93 -20
- package/dist/Popover.js +1 -1
- package/dist/Popup.js +5 -5
- package/dist/api.json +1 -1
- package/dist/features/InputSuggestions.js +1 -3
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -2
- package/dist/generated/templates/BusyIndicatorTemplate.lit.js +1 -1
- package/dist/generated/templates/CardTemplate.lit.js +1 -1
- package/dist/generated/templates/ListTemplate.lit.js +2 -2
- package/dist/generated/templates/TableTemplate.lit.js +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/InvisibleTextStyles.css.js +1 -1
- package/dist/generated/themes/Label.css.js +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tree.css.js +1 -1
- package/dist/generated/themes/TreeListItem.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/i18n/messagebundle.properties +9 -0
- package/dist/i18n/messagebundle_id.properties +218 -0
- package/package.json +7 -7
- package/src/BusyIndicator.hbs +1 -0
- package/src/Card.hbs +3 -5
- package/src/Card.js +44 -19
- package/src/Dialog.js +7 -7
- package/src/Icon.js +11 -1
- package/src/Input.js +9 -5
- package/src/List.hbs +3 -0
- package/src/List.js +93 -20
- package/src/Popover.js +1 -1
- package/src/Popup.js +5 -5
- package/src/Table.hbs +1 -0
- package/src/features/InputSuggestions.js +1 -3
- package/src/i18n/messagebundle.properties +9 -0
- package/src/i18n/messagebundle_id.properties +218 -0
- package/.port +0 -1
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
|
|
2
|
+
ARIA_LABEL_CARD_CONTENT=Konten Kartu
|
|
3
|
+
|
|
4
|
+
ARIA_ROLEDESCRIPTION_CARD=Kartu
|
|
5
|
+
|
|
6
|
+
ARIA_ROLEDESCRIPTION_CARD_HEADER=Header Kartu
|
|
7
|
+
|
|
8
|
+
ARIA_ROLEDESCRIPTION_INTERACTIVE_CARD_HEADER=Header Kartu Interaktif
|
|
9
|
+
|
|
10
|
+
AVATAR_TOOLTIP=Avatar
|
|
11
|
+
|
|
12
|
+
AVATAR_GROUP_DISPLAYED_HIDDEN_LABEL={0} ditampilkan, {1} disembunyikan.
|
|
13
|
+
|
|
14
|
+
AVATAR_GROUP_SHOW_COMPLETE_LIST_LABEL=Aktifkan untuk daftar lengkap.
|
|
15
|
+
|
|
16
|
+
AVATAR_GROUP_ARIA_LABEL_INDIVIDUAL=Avatar individu.
|
|
17
|
+
|
|
18
|
+
AVATAR_GROUP_ARIA_LABEL_GROUP=Avatar tergabung.
|
|
19
|
+
|
|
20
|
+
AVATAR_GROUP_MOVE=Tekan tombol PANAH untuk berpindah.
|
|
21
|
+
|
|
22
|
+
BADGE_DESCRIPTION=Lencana
|
|
23
|
+
|
|
24
|
+
BREADCRUMBS_ARIA_LABEL=Jejak Breadcrumb
|
|
25
|
+
|
|
26
|
+
BREADCRUMBS_OVERFLOW_ARIA_LABEL=Lebih Banyak
|
|
27
|
+
|
|
28
|
+
BREADCRUMBS_CANCEL_BUTTON=Batalkan
|
|
29
|
+
|
|
30
|
+
BUSY_INDICATOR_TITLE=Mohon tunggu
|
|
31
|
+
|
|
32
|
+
BUTTON_ARIA_TYPE_ACCEPT=Tindakan Positif
|
|
33
|
+
|
|
34
|
+
BUTTON_ARIA_TYPE_REJECT=Tindakan Negatif
|
|
35
|
+
|
|
36
|
+
BUTTON_ARIA_TYPE_EMPHASIZED=Ditekankan
|
|
37
|
+
|
|
38
|
+
CAROUSEL_OF_TEXT=dari
|
|
39
|
+
|
|
40
|
+
CAROUSEL_DOT_TEXT=Item {0} dari {1} ditampilkan
|
|
41
|
+
|
|
42
|
+
CAROUSEL_PREVIOUS_ARROW_TEXT=Halaman Sebelumnya
|
|
43
|
+
|
|
44
|
+
CAROUSEL_NEXT_ARROW_TEXT=Halaman Selanjutnya
|
|
45
|
+
|
|
46
|
+
COLORPALETTE_CONTAINER_LABEL=Palet Warna - Warna yang Ditentukan Sebelumnya
|
|
47
|
+
|
|
48
|
+
COLORPALETTE_POPOVER_TITLE=Palet Warna
|
|
49
|
+
|
|
50
|
+
COLORPALETTE_COLOR_LABEL=Warna
|
|
51
|
+
|
|
52
|
+
COLOR_PALETTE_DIALOG_CANCEL_BUTTON=Batalkan
|
|
53
|
+
|
|
54
|
+
COLOR_PALETTE_DIALOG_OK_BUTTON=OKE
|
|
55
|
+
|
|
56
|
+
COLOR_PALETTE_DIALOG_TITLE=Ubah Warna
|
|
57
|
+
|
|
58
|
+
COLOR_PALETTE_MORE_COLORS_TEXT=Lebih Banyak Warna...
|
|
59
|
+
|
|
60
|
+
DATEPICKER_OPEN_ICON_TITLE=Buka Pemilih
|
|
61
|
+
|
|
62
|
+
DATEPICKER_DATE_DESCRIPTION=Input Tanggal
|
|
63
|
+
|
|
64
|
+
DATETIME_DESCRIPTION=Input Tanggal Waktu
|
|
65
|
+
|
|
66
|
+
DATERANGE_DESCRIPTION=Input Rentang Tanggal
|
|
67
|
+
|
|
68
|
+
DELETE=Hapus
|
|
69
|
+
|
|
70
|
+
FILEUPLOAD_BROWSE=Telusuri...
|
|
71
|
+
|
|
72
|
+
FILEUPLOADER_TITLE=Unggah File
|
|
73
|
+
|
|
74
|
+
GROUP_HEADER_TEXT=Header Grup
|
|
75
|
+
|
|
76
|
+
SELECT_OPTIONS=Pilih Opsi
|
|
77
|
+
|
|
78
|
+
INPUT_SUGGESTIONS=Saran yang Tersedia
|
|
79
|
+
|
|
80
|
+
INPUT_SUGGESTIONS_TITLE=Pilih
|
|
81
|
+
|
|
82
|
+
INPUT_SUGGESTIONS_ONE_HIT=1 hasil tersedia
|
|
83
|
+
|
|
84
|
+
INPUT_SUGGESTIONS_MORE_HITS={0} hasil tersedia
|
|
85
|
+
|
|
86
|
+
INPUT_SUGGESTIONS_NO_HIT=Tidak ada hasil
|
|
87
|
+
|
|
88
|
+
LINK_SUBTLE=Halus
|
|
89
|
+
|
|
90
|
+
LINK_EMPHASIZED=Ditekankan
|
|
91
|
+
|
|
92
|
+
LIST_ITEM_POSITION=Cantumkan item {0} dari {1}
|
|
93
|
+
|
|
94
|
+
LIST_ITEM_SELECTED=Dipilih
|
|
95
|
+
|
|
96
|
+
LIST_ITEM_NOT_SELECTED=Tidak Dipilih
|
|
97
|
+
|
|
98
|
+
ARIA_LABEL_LIST_ITEM_CHECKBOX=Mode Banyak Pilihan
|
|
99
|
+
|
|
100
|
+
ARIA_LABEL_LIST_ITEM_RADIO_BUTTON=Pilihan Item.
|
|
101
|
+
|
|
102
|
+
MESSAGE_STRIP_CLOSE_BUTTON=Strip Pesan Tutup
|
|
103
|
+
|
|
104
|
+
MULTICOMBOBOX_DIALOG_OK_BUTTON=OKE
|
|
105
|
+
|
|
106
|
+
VALUE_STATE_ERROR_ALREADY_SELECTED=Nilai ini telah dipilih.
|
|
107
|
+
|
|
108
|
+
MULTIINPUT_ROLEDESCRIPTION_TEXT=Input Banyak Nilai
|
|
109
|
+
|
|
110
|
+
MULTIINPUT_SHOW_MORE_TOKENS={0} Lebih Banyak
|
|
111
|
+
|
|
112
|
+
PANEL_ICON=Perluas/Ciutkan
|
|
113
|
+
|
|
114
|
+
RANGE_SLIDER_ARIA_DESCRIPTION=Rentang
|
|
115
|
+
|
|
116
|
+
RANGE_SLIDER_START_HANDLE_DESCRIPTION=Pegangan kiri
|
|
117
|
+
|
|
118
|
+
RANGE_SLIDER_END_HANDLE_DESCRIPTION=Pegangan kanan
|
|
119
|
+
|
|
120
|
+
RATING_INDICATOR_TOOLTIP_TEXT=Peringkat
|
|
121
|
+
|
|
122
|
+
RATING_INDICATOR_TEXT=Indikator Peringkat
|
|
123
|
+
|
|
124
|
+
RESPONSIVE_POPOVER_CLOSE_DIALOG_BUTTON=Tolak
|
|
125
|
+
|
|
126
|
+
SEGMENTEDBUTTON_ARIA_DESCRIPTION=Kelompok tombol tersegmentasi
|
|
127
|
+
|
|
128
|
+
SEGMENTEDBUTTON_ARIA_DESCRIBEDBY=Tekan SPASI atau ENTER untuk memilih suatu item
|
|
129
|
+
|
|
130
|
+
SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION=Tombol tersegmentasi
|
|
131
|
+
|
|
132
|
+
SLIDER_ARIA_DESCRIPTION=Pegangan slider
|
|
133
|
+
|
|
134
|
+
SWITCH_ON=Aktif
|
|
135
|
+
|
|
136
|
+
SWITCH_OFF=Nonaktif
|
|
137
|
+
|
|
138
|
+
LOAD_MORE_TEXT=Lebih Banyak
|
|
139
|
+
|
|
140
|
+
TABLE_HEADER_ROW_TEXT=Baris Header
|
|
141
|
+
|
|
142
|
+
TABLE_ROW_POSITION={0} dari {1}
|
|
143
|
+
|
|
144
|
+
TABLE_GROUP_ROW_ARIA_LABEL=Baris Header Grup
|
|
145
|
+
|
|
146
|
+
ARIA_LABEL_ROW_SELECTION=Pilihan Item
|
|
147
|
+
|
|
148
|
+
ARIA_LABEL_SELECT_ALL_CHECKBOX=Pilih Semua Baris
|
|
149
|
+
|
|
150
|
+
TABCONTAINER_NEXT_ICON_ACC_NAME=Selanjutnya
|
|
151
|
+
|
|
152
|
+
TABCONTAINER_PREVIOUS_ICON_ACC_NAME=Sebelumnya
|
|
153
|
+
|
|
154
|
+
TABCONTAINER_OVERFLOW_MENU_TITLE=Menu Tambahan
|
|
155
|
+
|
|
156
|
+
TEXTAREA_CHARACTERS_LEFT={0} karakter tersisa
|
|
157
|
+
|
|
158
|
+
TEXTAREA_CHARACTERS_EXCEEDED={0} karakter melebihi batas
|
|
159
|
+
|
|
160
|
+
TIMEPICKER_HOURS_LABEL=Jam
|
|
161
|
+
|
|
162
|
+
TIMEPICKER_MINUTES_LABEL=Menit
|
|
163
|
+
|
|
164
|
+
TIMEPICKER_SECONDS_LABEL=Detik
|
|
165
|
+
|
|
166
|
+
TIMEPICKER_PERIODS_LABEL=AM/PM
|
|
167
|
+
|
|
168
|
+
TIMEPICKER_SUBMIT_BUTTON=OKE
|
|
169
|
+
|
|
170
|
+
TIMEPICKER_CANCEL_BUTTON=Batalkan
|
|
171
|
+
|
|
172
|
+
TIMEPICKER_INPUT_DESCRIPTION=Input Waktu
|
|
173
|
+
|
|
174
|
+
DURATION_INPUT_DESCRIPTION=Input Durasi
|
|
175
|
+
|
|
176
|
+
DATETIME_PICKER_DATE_BUTTON=Tanggal
|
|
177
|
+
|
|
178
|
+
DATETIME_PICKER_TIME_BUTTON=Waktu
|
|
179
|
+
|
|
180
|
+
TOKEN_ARIA_DELETABLE=Dapat Dihapus
|
|
181
|
+
|
|
182
|
+
TOKENIZER_ARIA_CONTAIN_TOKEN=Tidak Ada Token
|
|
183
|
+
|
|
184
|
+
TOKENIZER_ARIA_CONTAIN_ONE_TOKEN=Berisi 1 token
|
|
185
|
+
|
|
186
|
+
TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS=Berisi {0} token
|
|
187
|
+
|
|
188
|
+
TOKENIZER_ARIA_LABEL=Pembuat Token
|
|
189
|
+
|
|
190
|
+
TOKENIZER_POPOVER_REMOVE=Hapus
|
|
191
|
+
|
|
192
|
+
TREE_ITEM_ARIA_LABEL=Item Pohon
|
|
193
|
+
|
|
194
|
+
TREE_ITEM_EXPAND_NODE=Perluas Node
|
|
195
|
+
|
|
196
|
+
TREE_ITEM_COLLAPSE_NODE=Ciutkan Node
|
|
197
|
+
|
|
198
|
+
VALUE_STATE_ERROR=Entri tidak valid
|
|
199
|
+
|
|
200
|
+
VALUE_STATE_WARNING=Peringatan diterbitkan
|
|
201
|
+
|
|
202
|
+
VALUE_STATE_INFORMATION=Entri informatif
|
|
203
|
+
|
|
204
|
+
VALUE_STATE_SUCCESS=Entri berhasil divalidasi
|
|
205
|
+
|
|
206
|
+
CALENDAR_HEADER_NEXT_BUTTON=Selanjutnya
|
|
207
|
+
|
|
208
|
+
CALENDAR_HEADER_PREVIOUS_BUTTON=Sebelumnya
|
|
209
|
+
|
|
210
|
+
DAY_PICKER_WEEK_NUMBER_TEXT=Jumlah Minggu
|
|
211
|
+
|
|
212
|
+
DAY_PICKER_NON_WORKING_DAY=Non-Hari Kerja
|
|
213
|
+
|
|
214
|
+
DAY_PICKER_TODAY=Hari Ini
|
|
215
|
+
|
|
216
|
+
STEPINPUT_DEC_ICON_TITLE=Turunkan
|
|
217
|
+
|
|
218
|
+
STEPINPUT_INC_ICON_TITLE=Tingkatkan
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ui5/webcomponents",
|
|
3
|
-
"version": "0.31.
|
|
3
|
+
"version": "0.31.22",
|
|
4
4
|
"description": "UI5 Web Components: webcomponents.main",
|
|
5
5
|
"ui5": {
|
|
6
6
|
"webComponentsPackage": true
|
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
"directory": "packages/main"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@ui5/webcomponents-base": "0.31.
|
|
34
|
-
"@ui5/webcomponents-icons": "0.31.
|
|
35
|
-
"@ui5/webcomponents-ie11": "0.31.
|
|
36
|
-
"@ui5/webcomponents-localization": "0.31.
|
|
37
|
-
"@ui5/webcomponents-theme-base": "0.31.
|
|
33
|
+
"@ui5/webcomponents-base": "0.31.22",
|
|
34
|
+
"@ui5/webcomponents-icons": "0.31.22",
|
|
35
|
+
"@ui5/webcomponents-ie11": "0.31.22",
|
|
36
|
+
"@ui5/webcomponents-localization": "0.31.22",
|
|
37
|
+
"@ui5/webcomponents-theme-base": "0.31.22"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@ui5/webcomponents-tools": "0.31.
|
|
40
|
+
"@ui5/webcomponents-tools": "0.31.22",
|
|
41
41
|
"chromedriver": "88.0.0"
|
|
42
42
|
}
|
|
43
43
|
}
|
package/src/BusyIndicator.hbs
CHANGED
package/src/Card.hbs
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
class="{{classes.main}}"
|
|
3
3
|
dir="{{effectiveDir}}"
|
|
4
4
|
role="region"
|
|
5
|
-
aria-label="{{ariaLabelText}}"
|
|
6
|
-
aria-labelledby="{{ariaLabelledByCard}}">
|
|
5
|
+
aria-label="{{ariaLabelText}}">
|
|
7
6
|
{{#if hasHeader}}
|
|
8
7
|
<div class="{{classes.header}}"
|
|
9
8
|
@click="{{_headerClick}}"
|
|
@@ -39,8 +38,7 @@
|
|
|
39
38
|
</div>
|
|
40
39
|
{{/if}}
|
|
41
40
|
|
|
42
|
-
<
|
|
41
|
+
<div role="group" aria-label="{{ariaCardContentLabel}}">
|
|
43
42
|
<slot></slot>
|
|
44
|
-
</
|
|
45
|
-
<span id="{{_id}}-desc" class="ui5-hidden-text">{{ariaCardRoleDescription}}</span>
|
|
43
|
+
</div>
|
|
46
44
|
</div>
|
package/src/Card.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
3
3
|
import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
4
|
-
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
|
|
5
4
|
import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
6
5
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
7
6
|
import CardTemplate from "./generated/templates/CardTemplate.lit.js";
|
|
@@ -114,28 +113,28 @@ const metadata = {
|
|
|
114
113
|
},
|
|
115
114
|
|
|
116
115
|
/**
|
|
117
|
-
* Defines the
|
|
116
|
+
* Defines the accessible name of the component, which is used as the name of the card region and should be unique per card.
|
|
117
|
+
* <b>Note:</b> <code>accessibleName</code> should be always set.
|
|
118
118
|
*
|
|
119
119
|
* @type {String}
|
|
120
|
-
* @since 1.0.0-rc.9
|
|
121
|
-
* @private
|
|
122
120
|
* @defaultvalue ""
|
|
121
|
+
* @public
|
|
122
|
+
* @since 1.0.0-rc.16
|
|
123
123
|
*/
|
|
124
|
-
|
|
124
|
+
accessibleName: {
|
|
125
125
|
type: String,
|
|
126
126
|
},
|
|
127
127
|
|
|
128
128
|
/**
|
|
129
|
-
*
|
|
129
|
+
* Defines the IDs of the elements that label the component.
|
|
130
130
|
*
|
|
131
131
|
* @type {String}
|
|
132
132
|
* @defaultvalue ""
|
|
133
|
-
* @
|
|
134
|
-
* @since 1.0.0-rc.
|
|
133
|
+
* @public
|
|
134
|
+
* @since 1.0.0-rc.16
|
|
135
135
|
*/
|
|
136
|
-
|
|
136
|
+
accessibleNameRef: {
|
|
137
137
|
type: String,
|
|
138
|
-
defaultValue: "",
|
|
139
138
|
},
|
|
140
139
|
|
|
141
140
|
/**
|
|
@@ -255,12 +254,42 @@ class Card extends UI5Element {
|
|
|
255
254
|
return !!(this.heading || this.subheading || this.status || this.hasAction || this.avatar);
|
|
256
255
|
}
|
|
257
256
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
257
|
+
// As in 0.31 we don't have all the accessibleNameRef, accessibleName related changes downported,
|
|
258
|
+
// we manually add getEffectiveAriaLabelText and getAriaLabelledByTexts methods and change them,
|
|
259
|
+
// so they work with accessibleName and accessibleNameRef, isntead of ariaLabel and ariaLabelledby
|
|
260
|
+
getEffectiveAriaLabelText(el) {
|
|
261
|
+
if (!el.accessibleNameRef) {
|
|
262
|
+
if (el.accessibleName) {
|
|
263
|
+
return el.accessibleName;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
return undefined;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
return this.getAriaLabelledByTexts(el);
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
getAriaLabelledByTexts(el, ownerDocument, readyIds = "") {
|
|
273
|
+
const ids = (readyIds && readyIds.split(" ")) || el.accessibleNameRef.split(" ");
|
|
274
|
+
const owner = ownerDocument || findNodeOwner(el);
|
|
275
|
+
let result = "";
|
|
276
|
+
|
|
277
|
+
ids.forEach((elementId, index) => {
|
|
278
|
+
const element = owner.querySelector(`[id='${elementId}']`);
|
|
279
|
+
result += `${element ? element.textContent : ""}`;
|
|
280
|
+
|
|
281
|
+
if (index < ids.length - 1) {
|
|
282
|
+
result += " ";
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
return result;
|
|
287
|
+
};
|
|
261
288
|
|
|
262
|
-
get
|
|
263
|
-
|
|
289
|
+
get ariaLabelText() {
|
|
290
|
+
const effectiveAriaLabelText = this.getEffectiveAriaLabelText(this),
|
|
291
|
+
effectiveAriaLabel = effectiveAriaLabelText ? ` ${effectiveAriaLabelText}` : "";
|
|
292
|
+
return this.i18nBundle.getText(ARIA_ROLEDESCRIPTION_CARD) + effectiveAriaLabel;
|
|
264
293
|
}
|
|
265
294
|
|
|
266
295
|
get ariaCardHeaderRoleDescription() {
|
|
@@ -293,10 +322,6 @@ class Card extends UI5Element {
|
|
|
293
322
|
return labels.length !== 0 ? labels.join(" ") : undefined;
|
|
294
323
|
}
|
|
295
324
|
|
|
296
|
-
get ariaLabelledByCard() {
|
|
297
|
-
return this.heading ? `${this._id}-heading ${this._id}-desc` : `${this._id}-desc`;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
325
|
get hasAvatar() {
|
|
301
326
|
return !!this.avatar.length;
|
|
302
327
|
}
|
package/src/Dialog.js
CHANGED
|
@@ -211,20 +211,20 @@ class Dialog extends Popup {
|
|
|
211
211
|
get _ariaLabelledBy() { // Required by Popup.js
|
|
212
212
|
let ariaLabelledById;
|
|
213
213
|
|
|
214
|
-
if (this.headerText !== "" && !this.
|
|
214
|
+
if (this.headerText !== "" && !this.accessibleName) {
|
|
215
215
|
ariaLabelledById = "ui5-popup-header-text";
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
return ariaLabelledById;
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
+
/**
|
|
222
|
+
* Ensures ariaLabel is never null or empty string
|
|
223
|
+
* @returns {String|undefined}
|
|
224
|
+
* @protected
|
|
225
|
+
*/
|
|
221
226
|
get _ariaLabel() {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
if (this.header.length > 0 && !!this.accessibleName) {
|
|
225
|
-
ariaLabel = this.accessibleName;
|
|
226
|
-
}
|
|
227
|
-
return this.ariaLabel ? this.ariaLabel : ariaLabel;
|
|
227
|
+
return this.accessibleName || undefined;
|
|
228
228
|
}
|
|
229
229
|
|
|
230
230
|
get _ariaModal() { // Required by Popup.js
|
package/src/Icon.js
CHANGED
|
@@ -12,6 +12,7 @@ import IconTemplate from "./generated/templates/IconTemplate.lit.js";
|
|
|
12
12
|
import iconCss from "./generated/themes/Icon.css.js";
|
|
13
13
|
|
|
14
14
|
const ICON_NOT_FOUND = "ICON_NOT_FOUND";
|
|
15
|
+
const PRESENTATION_ROLE = "presentation";
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* @public
|
|
@@ -97,6 +98,7 @@ const metadata = {
|
|
|
97
98
|
|
|
98
99
|
/**
|
|
99
100
|
* Defines the aria hidden state of the component.
|
|
101
|
+
* Note: If the role is presentation the default value of aria-hidden will be true.
|
|
100
102
|
* @private
|
|
101
103
|
* @since 1.0.0-rc.15
|
|
102
104
|
*/
|
|
@@ -257,6 +259,10 @@ class Icon extends UI5Element {
|
|
|
257
259
|
|
|
258
260
|
get effectiveAriaHidden() {
|
|
259
261
|
if (this.ariaHidden === "") {
|
|
262
|
+
if (this.isDecorative) {
|
|
263
|
+
return true;
|
|
264
|
+
}
|
|
265
|
+
|
|
260
266
|
return;
|
|
261
267
|
}
|
|
262
268
|
|
|
@@ -267,6 +273,10 @@ class Icon extends UI5Element {
|
|
|
267
273
|
return this.interactive ? "0" : "-1";
|
|
268
274
|
}
|
|
269
275
|
|
|
276
|
+
get isDecorative() {
|
|
277
|
+
return this.effectiveAccessibleRole === PRESENTATION_ROLE;
|
|
278
|
+
}
|
|
279
|
+
|
|
270
280
|
get effectiveAccessibleRole() {
|
|
271
281
|
if (this.role) {
|
|
272
282
|
return this.role;
|
|
@@ -276,7 +286,7 @@ class Icon extends UI5Element {
|
|
|
276
286
|
return "button";
|
|
277
287
|
}
|
|
278
288
|
|
|
279
|
-
return this.effectiveAccessibleName ? "img" :
|
|
289
|
+
return this.effectiveAccessibleName ? "img" : PRESENTATION_ROLE;
|
|
280
290
|
}
|
|
281
291
|
|
|
282
292
|
static createGlobalStyle() {
|
package/src/Input.js
CHANGED
|
@@ -998,7 +998,7 @@ class Input extends UI5Element {
|
|
|
998
998
|
}
|
|
999
999
|
|
|
1000
1000
|
async getInputDOMRef() {
|
|
1001
|
-
if (isPhone() && this.Suggestions
|
|
1001
|
+
if (isPhone() && this.Suggestions) {
|
|
1002
1002
|
await this.Suggestions._respPopover();
|
|
1003
1003
|
return this.Suggestions && this.Suggestions.responsivePopover.querySelector(".ui5-input-inner-phone");
|
|
1004
1004
|
}
|
|
@@ -1187,7 +1187,7 @@ class Input extends UI5Element {
|
|
|
1187
1187
|
}
|
|
1188
1188
|
|
|
1189
1189
|
get styles() {
|
|
1190
|
-
|
|
1190
|
+
const stylesObject = {
|
|
1191
1191
|
popoverHeader: {
|
|
1192
1192
|
"max-width": `${this._inputWidth}px`,
|
|
1193
1193
|
},
|
|
@@ -1198,10 +1198,14 @@ class Input extends UI5Element {
|
|
|
1198
1198
|
suggestionsPopover: {
|
|
1199
1199
|
"max-width": `${this._inputWidth}px`,
|
|
1200
1200
|
},
|
|
1201
|
-
innerInput: {
|
|
1202
|
-
padding: this.nativeInputWidth < 48 ? "0" : undefined,
|
|
1203
|
-
},
|
|
1201
|
+
innerInput: {},
|
|
1204
1202
|
};
|
|
1203
|
+
|
|
1204
|
+
if (this.nativeInputWidth < 48) {
|
|
1205
|
+
stylesObject.innerInput.padding = "0";
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
return stylesObject;
|
|
1205
1209
|
}
|
|
1206
1210
|
|
|
1207
1211
|
get suggestionSeparators() {
|
package/src/List.hbs
CHANGED
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
<div id="{{_id}}-before" tabindex="0" class="ui5-list-focusarea"></div>
|
|
19
19
|
{{/if}}
|
|
20
20
|
|
|
21
|
+
<span id="{{_id}}-modeLabel" class="ui5-hidden-text">{{ariaLabelModeText}}</span>
|
|
22
|
+
|
|
21
23
|
<ul id="{{_id}}-listUl"
|
|
22
24
|
class="ui5-list-ul"
|
|
23
25
|
role="{{accessibleRole}}"
|
|
@@ -58,6 +60,7 @@
|
|
|
58
60
|
active size="Medium"
|
|
59
61
|
class="ui5-list-busy-ind"
|
|
60
62
|
style="{{styles.busyInd}}"
|
|
63
|
+
data-sap-focus-ref
|
|
61
64
|
></ui5-busyindicator>
|
|
62
65
|
</div>
|
|
63
66
|
{{/if}}
|