From 6946f0f8897132e7c2577b6ff4d90d3dd2187893 Mon Sep 17 00:00:00 2001 From: Tzipi-kaltura Date: Sun, 23 Jun 2024 18:16:46 +0300 Subject: [PATCH 1/3] fix(ADA-6): v7 player (accessibility) - Frames for Video Players Aren't Labeled --- src/player.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/player.ts b/src/player.ts index b9fecd9f..a4744e5b 100644 --- a/src/player.ts +++ b/src/player.ts @@ -1968,6 +1968,7 @@ export default class Player extends FakeEventTarget { this._eventManager.listen(this._engine, CustomEventType.DRM_LICENSE_LOADED, (event: FakeEvent) => this.dispatchEvent(event)); this._eventManager.listen(this._engine, CustomEventType.MANIFEST_LOADED, (event: FakeEvent) => this.dispatchEvent(event)); this._eventManager.listen(this._engine, CustomEventType.MEDIA_RECOVERED, () => this._handleRecovered()); + this._eventManager.listen(this, CustomEventType.CHANGE_SOURCE_ENDED, () => this._addTitleOnIframe()); this._eventManager.listen(this, Html5EventType.PLAY, this._onPlay.bind(this)); this._eventManager.listen(this, Html5EventType.PAUSE, this._onPause.bind(this)); this._eventManager.listen(this, Html5EventType.PLAYING, this._onPlaying.bind(this)); @@ -2006,6 +2007,21 @@ export default class Player extends FakeEventTarget { } } + /** + * In iframe embed add title element with the entry name + * @returns {void} + * @private + */ + private _addTitleOnIframe(): void { + const head = Utils.Dom.getElementBySelector('head'); + let title = head.querySelector('title'); + if (!title){ + title = Utils.Dom.createElement('title'); + head.appendChild(title); + } + title.innerHTML = this._sources.metadata.name; + } + /** * if the media was recovered (after a media failure) then initiate play again (if that was the state before) * @returns {void} From ca51704186f040bbd5dd23108740004d636edede Mon Sep 17 00:00:00 2001 From: Tzipi-kaltura Date: Mon, 24 Jun 2024 14:51:52 +0300 Subject: [PATCH 2/3] add iframe check --- src/player.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/player.ts b/src/player.ts index a4744e5b..af42bea7 100644 --- a/src/player.ts +++ b/src/player.ts @@ -2013,13 +2013,15 @@ export default class Player extends FakeEventTarget { * @private */ private _addTitleOnIframe(): void { - const head = Utils.Dom.getElementBySelector('head'); - let title = head.querySelector('title'); - if (!title){ - title = Utils.Dom.createElement('title'); - head.appendChild(title); + if (window.self !== window.top) { + const head = Utils.Dom.getElementBySelector('head'); + let title = head.querySelector('title'); + if (!title){ + title = Utils.Dom.createElement('title'); + head.appendChild(title); + } + title.innerHTML = this._sources.metadata.name; } - title.innerHTML = this._sources.metadata.name; } /** From c419b3b095a0fa5f34102a09032fcaa922f4a3f6 Mon Sep 17 00:00:00 2001 From: Tzipi-kaltura Date: Mon, 24 Jun 2024 14:54:00 +0300 Subject: [PATCH 3/3] if there is no name title will be empty --- src/player.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/player.ts b/src/player.ts index af42bea7..e189c907 100644 --- a/src/player.ts +++ b/src/player.ts @@ -2020,7 +2020,7 @@ export default class Player extends FakeEventTarget { title = Utils.Dom.createElement('title'); head.appendChild(title); } - title.innerHTML = this._sources.metadata.name; + title.innerHTML = this._sources.metadata.name ? this._sources.metadata.name : ''; } }