From 501740e0ad9656c11316a35e81c348ee939c8943 Mon Sep 17 00:00:00 2001 From: Nayden Naydenov <31909318+nnaydenow@users.noreply.github.com> Date: Wed, 22 Apr 2020 12:34:33 +0300 Subject: [PATCH] feat(ui5-avatar): implement accessibility spec (#1484) --- packages/main/src/Avatar.hbs | 4 ++-- packages/main/src/Avatar.js | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/packages/main/src/Avatar.hbs b/packages/main/src/Avatar.hbs index d8196c4b6ec5..232faafab551 100644 --- a/packages/main/src/Avatar.hbs +++ b/packages/main/src/Avatar.hbs @@ -1,8 +1,8 @@
ui5-avatar
.
+ * If not provided a default text alternative will be set, if present.
+ *
+ * @type {string}
+ * @defaultvalue ""
+ * @public
+ * @since 1.0.0-rc.7
+ */
+ accessibleName: {
+ type: String,
+ },
},
slots: /** @lends sap.ui.webcomponents.main.Avatar.prototype */ {
},
@@ -173,6 +189,11 @@ const metadata = {
* @public
*/
class Avatar extends UI5Element {
+ constructor() {
+ super();
+ this.i18nBundle = getI18nBundle("@ui5/webcomponents");
+ }
+
static get metadata() {
return metadata;
}
@@ -190,7 +211,10 @@ class Avatar extends UI5Element {
}
static async onDefine() {
- await Icon.define();
+ await Promise.all([
+ fetchI18nBundle("@ui5/webcomponents"),
+ Icon.define(),
+ ]);
}
get validInitials() {
@@ -202,6 +226,14 @@ class Avatar extends UI5Element {
return null;
}
+
+ get accessibleNameText() {
+ if (this.accessibleName) {
+ return this.accessibleName;
+ }
+
+ return this.i18nBundle.getText(AVATAR_TOOLTIP) || undefined;
+ }
}
Avatar.define();