This commit is contained in:
parent
d4f1cf5154
commit
ef6c4d64d3
|
|
@ -12,7 +12,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
function handleNavMove() {
|
function handleNavMove() {
|
||||||
var windowWidth = window.innerWidth;
|
var windowWidth = window.innerWidth;ㄑ
|
||||||
|
|
||||||
if (windowWidth > 768) {
|
if (windowWidth > 768) {
|
||||||
if ($signLanguageBox.length && $signLanguageBox.find('[accesskey="U"], [accesskey="W"]').length === 0) {
|
if ($signLanguageBox.length && $signLanguageBox.find('[accesskey="U"], [accesskey="W"]').length === 0) {
|
||||||
|
|
@ -630,7 +630,7 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (document.documentElement.lang === 'zh_tw') {
|
if (document.documentElement.lang === 'zh_tw') {
|
||||||
document.documentElement.lang = 'zh-Hant';
|
document.documentElement.lang = 'zh-Hant-TW';
|
||||||
}
|
}
|
||||||
//tab鍵按下
|
//tab鍵按下
|
||||||
$(document).on('keydown', function(e) {
|
$(document).on('keydown', function(e) {
|
||||||
|
|
@ -924,15 +924,6 @@
|
||||||
|
|
||||||
// 有連結目的之所有a標籤的無障礙處理
|
// 有連結目的之所有a標籤的無障礙處理
|
||||||
$(function() {
|
$(function() {
|
||||||
// Bootstrap 會把原始 title 搬到 data-bs-original-title,先還原回來
|
|
||||||
$('a[data-bs-original-title]').each(function() {
|
|
||||||
var $a = $(this);
|
|
||||||
var originalTitle = $a.attr('data-bs-original-title');
|
|
||||||
if (originalTitle && originalTitle.trim() !== '') {
|
|
||||||
$a.attr('title', originalTitle);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 全站無障礙 AA 級補強 (整合 HM1240400C 與 HM1240401C 規範)
|
* 全站無障礙 AA 級補強 (整合 HM1240400C 與 HM1240401C 規範)
|
||||||
*/
|
*/
|
||||||
|
|
@ -946,7 +937,7 @@ $(function() {
|
||||||
//├─ 文字是路徑/空 → 補隱藏 span
|
//├─ 文字是路徑/空 → 補隱藏 span
|
||||||
//├─ 圖片+文字共存 → 圖片 alt 清空
|
//├─ 圖片+文字共存 → 圖片 alt 清空
|
||||||
//├─ 無 title → 自動產出 title
|
//├─ 無 title → 自動產出 title
|
||||||
//├─ 有 title 但與連結文字或圖片 alt 重複 → 只保留開窗提示
|
//├─ 有 title 但與連結文字重複 → 只保留開窗提示
|
||||||
//├─ 有 title 出現空括號 () → 清除並補上正確開窗提示
|
//├─ 有 title 出現空括號 () → 清除並補上正確開窗提示
|
||||||
//└─ 移除 aria-label
|
//└─ 移除 aria-label
|
||||||
var urlParams = new URLSearchParams(window.location.search);
|
var urlParams = new URLSearchParams(window.location.search);
|
||||||
|
|
@ -992,9 +983,6 @@ $(function() {
|
||||||
var $img = $a.find('img');
|
var $img = $a.find('img');
|
||||||
var $icons = $a.find('i, svg');
|
var $icons = $a.find('i, svg');
|
||||||
var currentTitle = ($a.attr('title') || '').trim();
|
var currentTitle = ($a.attr('title') || '').trim();
|
||||||
|
|
||||||
// ✅ 在 D 區塊清空 alt 之前,先記錄圖片原始 alt
|
|
||||||
var imgAltOriginal = $img.length > 0 ? ($img.attr('alt') || '').trim() : '';
|
|
||||||
|
|
||||||
// --- 【修正 1:隱藏空連結】 ---
|
// --- 【修正 1:隱藏空連結】 ---
|
||||||
if (!isEditMode && linkText === "" && $img.length === 0 && $icons.length === 0) {
|
if (!isEditMode && linkText === "" && $img.length === 0 && $icons.length === 0) {
|
||||||
|
|
@ -1112,10 +1100,13 @@ $(function() {
|
||||||
.replace('另開新視窗', '')
|
.replace('另開新視窗', '')
|
||||||
.trim();
|
.trim();
|
||||||
|
|
||||||
// ✅ title 去掉開窗字串後,若與連結文字或圖片原始 alt 相同,則只保留開窗提示
|
// ✅ 取得圖片原始 alt(D 區塊清空前的值)
|
||||||
|
var imgAltOriginal = $img.length > 0 ? ($img.data('originalAlt') || $img.attr('alt') || '').trim() : '';
|
||||||
|
|
||||||
|
// ✅ 修正:title 去掉開窗字串後,若與連結文字或圖片 alt 相同,則只保留開窗提示
|
||||||
if (
|
if (
|
||||||
(titleWithoutWindow === linkText && linkText !== i18n.link) ||
|
(titleWithoutWindow === linkText && linkText !== i18n.link) ||
|
||||||
(imgAltOriginal !== '' && titleWithoutWindow === imgAltOriginal)
|
(imgAltOriginal !== '' && titleWithoutWindow === imgAltOriginal) // ✅ 新增:與圖片 alt 重複也觸發
|
||||||
) {
|
) {
|
||||||
$a.attr('title', windowTask);
|
$a.attr('title', windowTask);
|
||||||
}
|
}
|
||||||
|
|
@ -1131,29 +1122,12 @@ $(function() {
|
||||||
// F. 最終清理:移除冗餘 label,避免螢幕閱讀器唸兩次
|
// F. 最終清理:移除冗餘 label,避免螢幕閱讀器唸兩次
|
||||||
$a.removeAttr('aria-label');
|
$a.removeAttr('aria-label');
|
||||||
});
|
});
|
||||||
|
|
||||||
// ✅ G. 補強特定連結(須在迴圈外,因為 javascript: 連結被迴圈跳過)
|
|
||||||
$('.btn-o a').each(function() {
|
|
||||||
var $a = $(this);
|
|
||||||
if (!$a.attr('target')) {
|
|
||||||
$a.attr('target', '_blank');
|
|
||||||
$a.attr('rel', 'noopener noreferrer');
|
|
||||||
}
|
|
||||||
$a.attr('title', isEn ? 'Share to X Open in new window' : '分享至 X 在新視窗開啟');
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.print-button a').each(function() {
|
|
||||||
var $a = $(this);
|
|
||||||
if (!$a.attr('title') || $a.attr('title').trim().toLowerCase() === 'print') {
|
|
||||||
$a.attr('title', isEn ? 'Print this page' : '列印此頁');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('a.i-archive__file-name').each(function () {
|
$('a.i-archive__file-name').each(function () {
|
||||||
var $a = $(this);
|
var $a = $(this);
|
||||||
var isNewWindow = ($a.attr('target') === '_blank');
|
var isNewWindow = ($a.attr('target') === '_blank');
|
||||||
$a.attr('title', isNewWindow ? i18n.newWin : i18n.selfWin);
|
$a.attr('title', isNewWindow ? i18n.newWin : i18n.selfWin);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ✅ 延遲 800ms 確保所有其他 function 執行完畢後才處理
|
// ✅ 延遲 800ms 確保所有其他 function 執行完畢後才處理
|
||||||
|
|
@ -1162,7 +1136,22 @@ $(function() {
|
||||||
}, 800);
|
}, 800);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// if (location.href.search('editmode=on') === -1) {
|
||||||
|
// // 1. 處理圖片 alt 重複問題 (保持原邏輯但優化)
|
||||||
|
// $('a').has('img').each(function () {
|
||||||
|
// const $link = $(this);
|
||||||
|
// const linkText = $link.text().trim();
|
||||||
|
|
||||||
|
// $link.find('img').each(function () {
|
||||||
|
// const $img = $(this);
|
||||||
|
// const altText = $img.attr('alt')?.trim();
|
||||||
|
|
||||||
|
// if (altText && altText === linkText) {
|
||||||
|
// $img.attr('alt', '');
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
// }
|
||||||
$(function() {
|
$(function() {
|
||||||
function smartFixIcons() {
|
function smartFixIcons() {
|
||||||
var isEn = $('html').attr('lang') === 'en';
|
var isEn = $('html').attr('lang') === 'en';
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue