youtube 字幕区域优化

给 youtube 的字幕区域增加活动区域 aria-live 属性,以便于屏幕阅读器自动朗读外挂字幕

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        youtube 字幕区域优化
// @namespace    https://www.zhihu.com/people/yin-xiao-bo-11
// @version      0.1.2
// @description  给 youtube 的字幕区域增加活动区域 aria-live 属性,以便于屏幕阅读器自动朗读外挂字幕
// @author       Veg
// @include        https://www.youtube.com/*
// @grant        none
// ==/UserScript==
(function() {
'use strict';
let mo = new MutationObserver( (mutationRecord) => {
middleFunction();
});
mo.observe(document.body, {
'childList': true,
'subtree': true
});
middleFunction();
function middleFunction() {
let caption = document.querySelector('div.ytp-caption-window-container');
if (caption) {
caption.setAttribute('aria-live', 'assertive');
}
}
})();