Обновление Aria-Label логотипа канала YouTube - PullRequest
0 голосов
/ 18 декабря 2018

Я работаю над созданием сайта клиента, чтобы сделать его доступным.Мы добавляем видео из iFrame с видео на YouTube.Видео работает нормально, обновлены скрытые субтитры и т. Д. Однако метка арии, отображаемая на логотипе канала YouTube, отображается как «Фотоизображение», что не соответствует рекомендациям по доступности.

<a class="ytp-title-channel-logo" target="_blank" data-visual-id="2" href="https://www.youtube.com/channel/lettersandsuch" aria-label="Photo image of " style="background-image: url(&quot;https://filepathforphoto.png&quot;);"></a>

Поскольку он находится в iFrame, я не знаю, сможем ли мы на самом деле захватить и изменить iFrame с помощью JS.Я пытался возиться в учетной записи YouTube, меняя логотип и обновляя название канала, но это не относится к ярлыку aria.

Я пытался изменить его с помощью jQuery, но я не думаю, что делаю этоправо.Я поместил идентификатор в iFrame и применил следующее:

$(document).ready(function(){
 var iFrameDOM = $("iframe#frameID").contents();
 iFrameDOM.find('.ytp-title-channel-logo').attr('aria-role', 'something');
})

Он не показывает никаких ошибок локально, но не применяет изменение кода.Есть ли способ изменить ярлык aria на логотипе канала YouTube?

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Дополнение к ответу @ Kiran;Самый простой способ сделать это - написать расширение для браузера.Вы сможете делать все, что захотите.если это расширение chrome, просто спросите разрешение в вашем manifest.json файле.

Вот несколько примеров проектов расширений:

https://github.com/orbitbot/chrome-extensions-examples

С расширениямиВы можете ввести любой код JavaScript на любом веб-сайте.

0 голосов
/ 04 января 2019

Вы не можете изменить DOM междоменного iframe из-за Одинаковой политики происхождения , т. Е. Веб-браузер разрешает сценариям, содержащимся на первой веб-странице, доступ к данным на второй веб-странице, но только если обе веб-страницыимеют одинаковое происхождение.Поэтому содержимое сайта Cross не может быть прочитано JavaScript.Это было реализовано для предотвращения уязвимости безопасности, известной как Межсайтовый скриптинг (XSS) .

. В параметре YouTube player этого параметра нет, но я думаю, что выможет решить это через IFrame Player API

...