From 2a61d5dd4bc7d8de26642a0819f921d0a5d90281 Mon Sep 17 00:00:00 2001
From: Andre Lammers <andre.lammers@mni.thm.de>
Date: Tue, 17 Sep 2019 11:02:24 +0200
Subject: [PATCH] Fixed live-announcer for creator-room and home component

---
 .../room-creator-page.component.html                |  1 +
 .../room-creator-page.component.ts                  | 13 ++++++++-----
 .../home/home-page/home-page.component.html         |  2 +-
 .../home/home-page/home-page.component.ts           |  2 --
 src/assets/i18n/creator/de.json                     |  1 +
 src/assets/i18n/creator/en.json                     |  1 +
 6 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/app/components/creator/room-creator-page/room-creator-page.component.html b/src/app/components/creator/room-creator-page/room-creator-page.component.html
index 8d877b403..6c5f0f7b0 100644
--- a/src/app/components/creator/room-creator-page/room-creator-page.component.html
+++ b/src/app/components/creator/room-creator-page/room-creator-page.component.html
@@ -93,6 +93,7 @@
     </mat-card>
     <div *ngIf="!isLoading && !room">{{ 'room-page.room-not-found' | translate }}</div>
   </div>
+  <button id="live_announcer-button" tabIndex="-1" (click)="announce()" class="visually-hidden">{{ 'room-page.live-announcer' | translate }}</button>
 </div>
 
 <div class="visually-hidden">
diff --git a/src/app/components/creator/room-creator-page/room-creator-page.component.ts b/src/app/components/creator/room-creator-page/room-creator-page.component.ts
index 92ac273ac..fa6f25839 100644
--- a/src/app/components/creator/room-creator-page/room-creator-page.component.ts
+++ b/src/app/components/creator/room-creator-page/room-creator-page.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, Renderer2, OnDestroy } from '@angular/core';
+import { Component, OnInit, Renderer2, OnDestroy, AfterContentInit } from '@angular/core';
 import { RoomService } from '../../../services/http/room.service';
 import { ActivatedRoute } from '@angular/router';
 import { RoomPageComponent } from '../../shared/room-page/room-page.component';
@@ -25,7 +25,7 @@ import { KeyboardKey } from '../../../utils/keyboard/keys';
   templateUrl: './room-creator-page.component.html',
   styleUrls: ['./room-creator-page.component.scss']
 })
-export class RoomCreatorPageComponent extends RoomPageComponent implements OnInit, OnDestroy {
+export class RoomCreatorPageComponent extends RoomPageComponent implements OnInit, OnDestroy, AfterContentInit {
   room: Room;
   updRoom: Room;
   commentThreshold: number;
@@ -53,13 +53,18 @@ export class RoomCreatorPageComponent extends RoomPageComponent implements OnIni
     langService.langEmitter.subscribe(lang => translateService.use(lang));
   }
 
+  ngAfterContentInit(): void {
+    setTimeout( () => {
+      document.getElementById('live_announcer-button').focus();
+    }, 700);
+  }
+
   ngOnInit() {
     window.scroll(0, 0);
     this.translateService.use(localStorage.getItem('currentLang'));
     this.route.params.subscribe(params => {
       this.initializeRoom(params['roomId']);
     });
-    this.announce();
     this.listenerFn = this._r.listen(document, 'keyup', (event) => {
       if (KeyboardUtils.isKeyEvent(event, KeyboardKey.Digit1) === true && this.eventService.focusOnInput === false) {
         document.getElementById('question_answer-button').focus();
@@ -97,8 +102,6 @@ export class RoomCreatorPageComponent extends RoomPageComponent implements OnIni
       'oder die Taste 9 um diese Ansage zu wiederholen.', 'assertive');
   }
 
-
-
   afterRoomLoadHook() {
     if (this.moderationEnabled) {
       this.viewModuleCount = this.viewModuleCount + 1;
diff --git a/src/app/components/home/home-page/home-page.component.html b/src/app/components/home/home-page/home-page.component.html
index 0edca87b5..7787e5fb0 100644
--- a/src/app/components/home/home-page/home-page.component.html
+++ b/src/app/components/home/home-page/home-page.component.html
@@ -1,4 +1,3 @@
-<button tabIndex="-1" (click)="announce()" id="live_announcer-button" class="visually-hidden">{{ 'home-page.live-announcer' | translate }}</button>
 <div fxLayout="column" fxLayoutAlign="center" fxLayoutGap="20px" fxFill>
   <div fxLayout="row" fxLayoutAlign="center" *ngIf="deviceType === 'mobile'">
     <h1>
@@ -25,4 +24,5 @@
       </mat-card-content>
     </mat-card>
   </div>
+  <button id="live_announcer-button" tabIndex="-1" (click)="announce()" class="visually-hidden">{{ 'home-page.live-announcer' | translate }}</button>
 </div>
diff --git a/src/app/components/home/home-page/home-page.component.ts b/src/app/components/home/home-page/home-page.component.ts
index c2302f846..4c80a678b 100644
--- a/src/app/components/home/home-page/home-page.component.ts
+++ b/src/app/components/home/home-page/home-page.component.ts
@@ -22,11 +22,9 @@ export class HomePageComponent implements OnInit, OnDestroy, AfterContentInit {
   }
 
   ngAfterContentInit(): void {
-
     setTimeout( () => {
       document.getElementById('live_announcer-button').focus();
     }, 500);
-
   }
 
   ngOnInit() {
diff --git a/src/assets/i18n/creator/de.json b/src/assets/i18n/creator/de.json
index 65c9f61b0..bf4e816db 100644
--- a/src/assets/i18n/creator/de.json
+++ b/src/assets/i18n/creator/de.json
@@ -158,6 +158,7 @@
     "email-error": "E-Mail Adresse ist ungültig.",
     "export-comments": "Fragen exportieren",
     "general": "Sitzung",
+    "live-announcer": "Du befindest dich in der von dir erstellten Sitzung. Um Informationen zu Tastenkombinationen zu erhalten drücke jetzt die Enter-Taste oder rufe die Ansage zu einem späteren Zeitpunkt mit der Escape-Taste auf.",
     "live-feedback": "Live Feedback",
     "moderating-stream": "Moderation",
     "moderator-added": "Moderator wurde hinzugefügt.",
diff --git a/src/assets/i18n/creator/en.json b/src/assets/i18n/creator/en.json
index 18b91bc97..7c50db68d 100644
--- a/src/assets/i18n/creator/en.json
+++ b/src/assets/i18n/creator/en.json
@@ -159,6 +159,7 @@
     "email-error": "E-Mail is invalid.",
     "export-comments": "Export questions",
     "general": "Session",
+    "live-announcer": "You're in the session you created. To get information about key combinations press the Enter key or call the announcement later with the Escape key.",
     "live-feedback": "Live feedback",
     "moderating-stream": "Moderation",
     "moderator-added": "Moderator was added.",
-- 
GitLab