From d53107ff2398a3a377ce2c9e6a44a9fc08f23683 Mon Sep 17 00:00:00 2001 From: ken Date: Mon, 21 Sep 2026 17:43:44 +0800 Subject: [PATCH] up --- assets/images/titleicon.png | Bin 18152 -> 20790 bytes assets/javascripts/app.js | 1680 +++++++++++++---- .../stylesheets/template/base/_accesskey.scss | 6 +- assets/stylesheets/template/base/_global.scss | 61 +- assets/stylesheets/template/base/_unity.scss | 1 - .../stylesheets/template/base/_variables.scss | 9 +- .../stylesheets/template/layout/content.scss | 9 +- .../stylesheets/template/layout/header.scss | 2 +- .../template/modules/ad_banner.scss | 54 +- .../template/modules/announcement.scss | 11 +- .../template/modules/archives.scss | 24 +- .../template/modules/event_news.scss | 1 - .../stylesheets/template/modules/member.scss | 24 +- assets/stylesheets/template/modules/menu.scss | 11 +- assets/stylesheets/template/template.scss | 17 + modules/ad_banner/_ad_banner_widget1.html.erb | 19 +- modules/ad_banner/_ad_banner_widget2.html.erb | 74 +- modules/announcement/_annc_widget1.html.erb | 2 +- modules/announcement/_annc_widget15.html.erb | 2 +- modules/announcement/_annc_widget16.html.erb | 2 +- modules/announcement/_annc_widget18.html.erb | 2 +- modules/announcement/_annc_widget2.html.erb | 2 +- modules/announcement/_annc_widget20.html.erb | 2 +- modules/announcement/_annc_widget21.html.erb | 2 +- modules/announcement/_annc_widget23.html.erb | 2 +- modules/announcement/_annc_widget24.html.erb | 2 +- modules/announcement/_annc_widget25.html.erb | 2 +- modules/announcement/_annc_widget26.html.erb | 2 +- modules/announcement/_annc_widget3.html.erb | 2 +- modules/announcement/_annc_widget4.html.erb | 2 +- modules/announcement/annc_index18.html.erb | 2 +- modules/announcement/annc_index19.html.erb | 4 +- modules/announcement/annc_index5.html.erb | 4 +- modules/announcement/annc_index6.html.erb | 4 +- modules/archive/archive_index12.html.erb | 2 +- modules/archive/archive_index14.html.erb | 5 +- modules/archive/archive_index16.html.erb | 2 +- modules/archive/archive_index2.html.erb | 2 +- modules/archive/archive_index4.html.erb | 2 +- .../_annc_widget1.html.erb | 2 +- .../_annc_widget15.html.erb | 2 +- .../_annc_widget16.html.erb | 2 +- .../_annc_widget18.html.erb | 2 +- .../_annc_widget2.html.erb | 2 +- .../_annc_widget3.html.erb | 2 +- .../_annc_widget4.html.erb | 2 +- .../custom_gallery_index1.html.erb | 2 +- .../custom_gallery_index3.html.erb | 2 +- .../_event_news_widget1.html.erb | 2 +- .../_event_news_widget15.html.erb | 2 +- .../_event_news_widget2.html.erb | 2 +- .../_event_news_widget20.html.erb | 2 +- .../_event_news_widget21.html.erb | 2 +- .../_event_news_widget22.html.erb | 2 +- .../_event_news_widget3.html.erb | 2 +- .../_event_news_widget4.html.erb | 2 +- .../event_news_mod/event_news_index5.html.erb | 2 +- .../event_news_mod/event_news_index6.html.erb | 2 +- .../event_news_mod/event_news_index7.html.erb | 2 +- modules/event_news_mod/show.html.erb | 2 +- modules/event_news_mod/show2.html.erb | 2 +- modules/gallery/gallery_index1.html.erb | 7 +- modules/gallery/gallery_index2.html.erb | 4 +- modules/gallery/gallery_index3.html.erb | 6 +- modules/gallery/gallery_index4.html.erb | 4 +- modules/gallery/gallery_index5.html.erb | 4 +- modules/gallery/gallery_index6.html.erb | 6 +- modules/member/member_index2.html.erb | 2 +- modules/member/member_index3.html.erb | 2 +- modules/member/member_index5.html.erb | 2 +- modules/member/member_index7.html.erb | 2 +- modules/member/member_index8.html.erb | 2 +- modules/personal_course/index.html.erb | 10 +- .../show_chapter_accordion.html.erb | 2 +- modules/publication/show_journal.html.erb | 2 +- modules/universal_table/index3.html.erb | 5 +- .../web_resource/_web_res_widget1.html.erb | 2 +- .../web_resource/_web_res_widget10.html.erb | 4 +- .../web_resource/_web_res_widget11.html.erb | 2 +- .../web_resource/_web_res_widget2.html.erb | 2 +- .../web_resource/_web_res_widget7.html.erb | 2 +- .../web_resource/_web_res_widget8.html.erb | 5 +- .../web_resource/_web_res_widget9.html.erb | 4 +- modules/web_resource/web_res_index1.html.erb | 4 +- modules/web_resource/web_res_index2.html.erb | 4 +- 85 files changed, 1626 insertions(+), 563 deletions(-) diff --git a/assets/images/titleicon.png b/assets/images/titleicon.png index 36a3add30a9391a57dee5e2d280e115075c4ac5b..fb7b7ae317f88eef03c5dcf0ebfbb6d6e2803012 100644 GIT binary patch literal 20790 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 Lxo(TLOYHvvHBBB- literal 18152 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 ul, .mobile-menu2 > ul').slideUp(500); @@ -292,6 +298,34 @@ } }); + // ✅ Tab 鍵跳過 .mobile-menu 時,觸發收合邏輯 + $(document).on('focusout', '.mobile-menu', function(e) { + setTimeout(function() { + var $newFocus = $(document.activeElement); + + // 焦點在 body 時代表滑鼠正在點擊中,不處理 + if ($newFocus.is('body')) return; + + if ($('.mobile-menu').hasClass('active') && $newFocus.closest('.mobile-menu').length === 0) { + + var $btn = $('.navbar-toggle').first(); + + if ($btn.attr('data-bs-toggle')) { + var target = $btn.attr('data-bs-target'); + var bsCollapse = window.bootstrap && bootstrap.Collapse.getInstance($(target)[0]); + if (bsCollapse) bsCollapse.hide(); + $('.mobile-menu').removeClass('active'); + $('body').removeClass('noscroll'); + $('.mobile-menu .navbar-toggle').addClass('collapsed'); + $('.mobile-menu1 > ul, .mobile-menu2 > ul').slideUp(500); + $('.mobile-menu1 > .menu-drop, .mobile-menu2 > .menu-drop').removeClass('opened'); + } else { + $btn.trigger('click'); + } + } + }, 50); + }); + $('.mobile-menu1 > .menu-drop').click(function(){ var $that = $(this); var opencheck1 = $that.hasClass('opened'); @@ -452,20 +486,28 @@ }); //播放驗證碼語音 $(function () { - $('.ask-question') - .find('.controls button.fas.fa-volume-up') - .each(function () { - const $btn = $(this); + var pageLang = ($('html').attr('lang') || 'zh-Hant').toLowerCase(); + var isEn = pageLang.startsWith('en'); + var label = isEn ? 'Play Captcha Voice' : '播放驗證碼語音'; - // 已經補過就不重複處理 - if ($btn.attr('aria-label')) return; + $('.ask-question') + .find('.controls button.fas.fa-volume-up') + .each(function () { + var $btn = $(this); - $btn.attr({ - 'aria-label': '播放驗證碼語音', - 'aria-controls': 'captcha_audio', - 'role': 'button' - }); - }); + $btn.attr({ + 'aria-label': label, + 'title': label, + 'aria-controls': 'captcha_audio', + 'role': 'button' + }); + + // ✅ 同步更新 sr-only 文字(若有) + var $sr = $btn.find('.sr-only'); + if ($sr.length > 0) { + $sr.text(label); + } + }); }); //刪除td的id @@ -760,13 +802,14 @@ $(document).ready(function() { removeEmptyTitles(); }); - $(".w-annc__img-wrap a").each(function () { - var $this = $(this); - // 確保 內沒有文字節點 (避免重複添加) - if ($this.text().trim() === "") { - $this.append('公告圖片'); - } - }); + + // $(".w-annc__img-wrap a").each(function () { + // var $this = $(this); + // // 確保 內沒有文字節點 (避免重複添加) + // if ($this.text().trim() === "") { + // $this.append('公告圖片'); + // } + // }); $(".widget-link__widget-title").each(function () { if ($(this).text().trim() === "") { $(this).append('公告標題'); @@ -835,7 +878,7 @@ var isLinkImage = $parentA.length > 0 && $parentA.text().replace(/\u00a0/g, '').trim() === ""; // --- 1. 處理「裝飾性圖片」標註 --- - if (currentAlt === "裝飾圖片" || currentTitle === "裝飾圖片") { + if (currentAlt === "announcement image" || currentAlt === "裝飾圖片" || currentTitle === "裝飾圖片" || currentAlt === "這是一張圖片" || currentTitle === "這是一張圖片"||currentAlt === "This is a image" ||currentTitle === "This is a image"){ $img.attr('alt', ''); $img.removeAttr('title'); return; @@ -880,197 +923,377 @@ setTimeout(fixImageAccessibility, 500); }); - // 有連結目的之所有a標籤的無障礙處理 - $(function() { - /** - * 全站無障礙 AA 級補強 (多語系偵測版) - */ - function fixAccessibilityAll() { - // --- 0. 網址參數判斷 --- - var urlParams = new URLSearchParams(window.location.search); - var isEditMode = urlParams.get('editmode') === 'on'; - var pageLang = $('html').attr('lang') || 'zh-Hant'; - var isEn = pageLang.toLowerCase().startsWith('en'); +// 有連結目的之所有a標籤的無障礙處理 +$(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); + } + }); - var i18n = { - langBtn: isEn ? 'Open language menu in this window' : '在本視窗開啟語言選單', - newWin: isEn ? '(Open in new window)' : '(在新視窗開啟)', - selfWin: isEn ? '(Open in this window)' : '(在本視窗開啟)', - link: isEn ? 'Link' : '連結' - }; + /** + * 全站無障礙 AA 級補強 (整合 HM1240400C 與 HM1240401C 規範) + */ + function fixAccessibilityAll() { + // --- 0. 環境與語言偵測 --- + //1200ms 後執行(確保所有其他 function 執行完畢後才處理) + //Part 1:修正語言選單按鈕 + //Part 2:掃描所有 + //├─ 排除 navbar-brand、javascript: 連結 + //├─ 空連結 → 隱藏 + //├─ 文字是路徑/空 → 補隱藏 span + //├─ 圖片+文字共存 → 圖片 alt 清空 + //├─ 無 title → 自動產出 title + //├─ 有 title 但與連結文字或圖片 alt 重複 → 只保留開窗提示 + //├─ 有 title 出現空括號 () → 清除並補上正確開窗提示 + //└─ 移除 aria-label + var urlParams = new URLSearchParams(window.location.search); + var isEditMode = urlParams.get('editmode') === 'on'; - // --- Part 1: 語言選單修正 --- - var $langBtn = $('#languagebutton'); - if ($langBtn.length > 0) { - $langBtn.attr('title', i18n.langBtn); - $langBtn.removeAttr('aria-label'); - } + var pageLang = $('html').attr('lang') || 'zh-Hant'; + var isEn = pageLang.toLowerCase().startsWith('en'); - // --- Part 2: 全站連結處理 --- - $('a').each(function() { - var $a = $(this); - var href = ($a.attr('href') || '').toLowerCase(); - if (!href || href.startsWith('javascript:')) return; + var i18n = { + langBtn: isEn ? 'Open language menu in this window' : '在本視窗開啟語言選單', + newWin: isEn ? 'Open in new window' : '在新視窗開啟', + selfWin: isEn ? 'Open in this window' : '在本視窗開啟', + link: isEn ? 'Link' : '連結', + openImg: isEn ? 'Open image' : '開啟圖片內容', + sort: isEn ? 'Sort' : '排序' + }; - // 清理   與 空白 - var linkText = $a.text().replace(/\u00a0/g, '').trim(); - var $img = $a.find('img'); - var currentTitle = ($a.attr('title') || '').trim(); - - // --- 【新增修正:隱藏空連結】 --- - // 若網址沒有 editmode=on 時,判定 a 裡面文字為空且沒有圖片,則隱藏 - if (!isEditMode && linkText === "" && $img.length === 0) { - $a.hide(); - return; // 跳過後續處理 - } + // --- Part 1: 語言選單修正 --- + var $langBtn = $('#languagebutton'); + if ($langBtn.length > 0) { + $langBtn.attr('title', i18n.langBtn); + $langBtn.removeAttr('aria-label'); + } - // A. 視窗動作規範 - var isNewWindow = ($a.attr('target') === '_blank'); - var windowTask = isNewWindow ? i18n.newWin : i18n.selfWin; + // --- Part 2: 全站連結與圖片邏輯處理 --- + $('a').each(function() { + var $a = $(this); - // B. 偵測檔案類型 - var fileExt = ""; - var fileMatches = href.match(/\.(pdf|doc|docx|xls|xlsx|ppt|pptx|odt|ods|odp|zip|rar|jpg|png|csv)$/); - if (fileMatches) { - fileExt = fileMatches[1].toLowerCase(); - } - - // C. 智慧修正與標題補充 - var hasBadSymbol = currentTitle.includes('()') || - currentTitle.includes('另開新視窗') || - currentTitle.includes('Open in new window'); - - if (linkText === "" && $img.length > 0) { - // 【純圖片連結】替代文字邏輯 - var rawAlt = ($img.attr('alt') || '').trim(); - var forbidden = ['這是一張圖片', '圖片', 'image', 'photo', '圖', '']; - var imgAlt = forbidden.some(function(txt) { return rawAlt.toLowerCase() === txt; }) - ? ($a.attr('aria-label') || i18n.link) : rawAlt; - - var fileInfo = fileExt ? '[' + fileExt.toUpperCase() + '] ' : ''; - - // 確保具備標題與圖片 alt - $a.attr('title', (fileInfo + imgAlt + " " + windowTask).trim()); - $img.attr('alt', imgAlt); - } - else if (linkText !== "") { - // 【有文字連結】 - if (fileExt !== "" || hasBadSymbol || currentTitle === "") { - var isTag = $a.hasClass('label') || $a.hasClass('tag') || $a.find('[class*="tag"]').length > 0; - - if (fileExt !== "") { - $a.attr('title', linkText + " ." + fileExt + " " + windowTask); - } else if (linkText.length <= 6 || isTag) { - $a.attr('title', linkText + " " + windowTask); - } else { - $a.attr('title', windowTask); - } - } - } - - // --- 修正後的 Part D 最終清理 --- - $a.removeAttr('aria-label'); - - // 只有當「真正可見的文字」存在時,才將圖片設為裝飾性 - // 使用 clone() 移除隱藏元件後再計算文字,確保準確度 - var visibleText = $a.clone().find(':hidden, style, script').remove().end().text().replace(/\u00a0/g, '').trim(); - - if (visibleText !== "" && $img.length > 0) { - $img.attr('alt', ''); - } else { - // 如果文字是隱藏的 (如你的範例),則必須保留或補強圖片 alt - var rawAlt = ($img.attr('alt') || '').trim(); - if (rawAlt === "") { - // 如果連圖片 alt 都沒寫,就從 a 的 title 抓 - var cleanTitle = currentTitle.replace(/\(在本視窗開啟\)|\(在新視窗開啟\)/g, '').trim(); - $img.attr('alt', cleanTitle || i18n.link); - } - } - }); + // 【條件 1:排除特定 class】 + if ($a.hasClass('navbar-brand')) { + return; } - setTimeout(function() { - fixAccessibilityAll(); - }, 600); + var href = ($a.attr('href') || '').toLowerCase(); + if (!href || href.startsWith('javascript:')) return; + + // --- 關鍵修正:先偵測是否有原始 title --- + var rawTitleAttr = $a.attr('title'); + var hasOriginalTitle = (typeof rawTitleAttr !== 'undefined' && rawTitleAttr !== false && rawTitleAttr.trim() !== ""); + + // 清理   與 空白 + var linkText = $a.text().replace(/\u00a0/g, '').trim(); + var $img = $a.find('img'); + var $icons = $a.find('i, svg'); + var currentTitle = ($a.attr('title') || '').trim(); + + // ✅ 在 D 區塊清空 alt 之前,先記錄圖片原始 alt + var imgAltOriginal = $img.length > 0 ? ($img.attr('alt') || '').trim() : ''; + + // --- 【修正 1:隱藏空連結】 --- + if (!isEditMode && linkText === "" && $img.length === 0 && $icons.length === 0) { + $a.hide(); + return; + } + + // --- 【修正 2:文字語意防禦】 --- + if ((linkText === "" || linkText.startsWith('/') || linkText.includes('?')) && $img.length === 0 && $icons.length === 0) { + var accessibleText = i18n.link; + if (href.includes('sort')) { + accessibleText = i18n.sort; + } + + var $span = $a.find('span'); + if ($span.length > 0) { + $span.text(accessibleText); + } else { + $a.append('' + accessibleText + ''); + $span = $a.find('span').last(); + } + + $span.css({ + 'display': 'inline-block', 'position': 'absolute', 'width': '1px', 'height': '1px', + 'padding': '0', 'margin': '-1px', 'overflow': 'hidden', 'clip': 'rect(0, 0, 0, 0)', + 'white-space': 'nowrap', 'border': '0' + }); + linkText = accessibleText; + } + + // A. 視窗動作規範 + var isNewWindow = ($a.attr('target') === '_blank'); + var windowTask = isNewWindow ? i18n.newWin : i18n.selfWin; + + // B. 偵測檔案類型 + var fileExt = ""; + var fileMatches = href.match(/\.(pdf|doc|docx|xls|xlsx|ppt|pptx|odt|ods|odp|zip|rar|jpg|png|csv)$/); + if (fileMatches) { + fileExt = fileMatches[1].toLowerCase(); + } + + // C. 智慧修正標題判斷 + var hasBadSymbol = currentTitle.includes('()') || + currentTitle.includes('Open in new window') || + currentTitle.includes('/uploads/'); + + if (currentTitle.startsWith('/') || currentTitle.includes('?')) { + currentTitle = ""; + } + + // D. 處理【HM1240400C】:圖片與文字毗鄰時,替代文字只能有一份 + if (($img.length > 0 || $icons.length > 0) && linkText !== "") { + if ($img.length > 0) { + $img.attr('alt', ''); + } + + var $hiddenSpans = $a.find('span').filter(function() { + return $(this).css('display') === 'none' || $(this).attr('style')?.includes('display: none'); + }); + + if ($hiddenSpans.length > 0) { + $hiddenSpans.each(function() { + var $span = $(this); + if ($span.text().includes('/uploads/')) { + $span.text(i18n.openImg); + } + + $span.css({ + 'display': 'inline-block', + 'position': 'absolute', + 'width': '1px', + 'height': '1px', + 'padding': '0', + 'margin': '-1px', + 'overflow': 'hidden', + 'clip': 'rect(0, 0, 0, 0)', + 'white-space': 'nowrap', + 'border': '0' + }); + }); + } + } + + // E. 重新計算標題 (關鍵邏輯:若 hasOriginalTitle 為真,則不進入此區塊) + if (!hasOriginalTitle) { + if (linkText === "" && $img.length > 0) { + var rawAlt = ($img.attr('alt') || '').trim(); + var forbidden = ['這是一張圖片', '圖片', 'image', 'photo', '圖', '']; + var imgAlt = forbidden.some(function(txt) { return rawAlt.toLowerCase() === txt; }) + ? ($a.attr('aria-label') || i18n.link) : rawAlt; + + var fileInfo = fileExt ? '[' + fileExt.toUpperCase() + '] ' : ''; + $a.attr('title', (fileInfo + imgAlt + " " + windowTask).trim()); + $img.attr('alt', imgAlt); + } + else if (linkText !== "") { + if (fileExt !== "" || hasBadSymbol || currentTitle === "" || currentTitle.includes('/uploads/')) { + if (fileExt !== "") { + $a.attr('title', linkText + " ." + fileExt + " " + windowTask); + } else { + $a.attr('title', windowTask); + } + } + } + } + + // ✅ 符合 HM1240404E:title 不應與連結文字或圖片 alt 重複 + if (hasOriginalTitle && currentTitle !== "") { + var titleWithoutWindow = currentTitle + .replace('(在本視窗開啟)', '') + .replace('(在新視窗開啟)', '') + .replace('Open in this window', '') + .replace('Open in new window', '') + .replace('另開新視窗前往', '') + .replace('另開新視窗', '') + .trim(); + + // ✅ title 去掉開窗字串後,若與連結文字或圖片原始 alt 相同,則只保留開窗提示 + // ✅ 新增:若 linkText 包含副檔名且 title 也是同樣檔名,也只保留開窗提示 + if ( + (titleWithoutWindow === linkText && linkText !== i18n.link) || + (imgAltOriginal !== '' && titleWithoutWindow === imgAltOriginal) || + (fileExt !== '' && linkText.toLowerCase().endsWith('.' + fileExt) && titleWithoutWindow === linkText) + ) { + $a.attr('title', windowTask); + return; // ✅ 加上 return,避免繼續執行後面的清理邏輯造成二次污染 + } + + // ✅ 最終清理:若 title 出現空括號 () 則移除並補上正確開窗提示 + var finalTitle = ($a.attr('title') || '').trim(); + if (finalTitle.includes('()')) { + finalTitle = finalTitle.replace(/\(\)/g, '').trim(); + $a.attr('title', finalTitle + ' ' + windowTask); + } + } + + // F. 最終清理:移除冗餘 label,避免螢幕閱讀器唸兩次 + $a.removeAttr('aria-label'); }); - // if (location.href.search('editmode=on') === -1) { - // // 1. 處理圖片 alt 重複問題 (保持原邏輯但優化) - // $('a').has('img').each(function () { - // const $link = $(this); - // const linkText = $link.text().trim(); + // ✅ 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 在新視窗開啟'); + }); - // $link.find('img').each(function () { - // const $img = $(this); - // const altText = $img.attr('alt')?.trim(); + $('.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' : '列印此頁'); + } + }); - // if (altText && altText === linkText) { - // $img.attr('alt', ''); - // } - // }); - // }); - // } - $(function() { - function smartFixIcons() { - $('i').each(function() { - var $icon = $(this); - var $parent = $icon.parent(); + $('a.i-archive__file-name').each(function () { + var $a = $(this); + var isNewWindow = ($a.attr('target') === '_blank'); + $a.attr('title', isNewWindow ? i18n.newWin : i18n.selfWin); + }); + } - // 1. 基本安全:所有圖示先對螢幕閱讀器隱藏 (避免讀出 Unicode 亂碼) - $icon.attr('aria-hidden', 'true'); + // ✅ 延遲 800ms 確保所有其他 function 執行完畢後才處理 + setTimeout(function() { + fixAccessibilityAll(); + }, 800); +}); - // 2. 檢查:如果已經有 aria-label 或旁邊已有 sr-only,就不重複處理 - if ($icon.attr('aria-label') || $icon.next('.sr-only').length > 0 || $parent.find('.sr-only').length > 0) { - return; - } + +$(function() { + function smartFixIcons() { + var isEn = $('html').attr('lang') === 'en'; - var cls = ($icon.attr('class') || '').toLowerCase(); - var labelText = ''; + var labels = { + calendar : isEn ? 'Date: ' : '日期:', + user : isEn ? 'Author: ' : '發布者:', + tag : isEn ? 'Tag: ' : '標籤:', + clock : isEn ? 'Time: ' : '時間:', + location : isEn ? 'Location: ' : '地點:', + phone : isEn ? 'Phone: ' : '電話:', + envelope : isEn ? 'Email: ' : '信箱:', + folder : isEn ? 'Category: ' : '分類:', + eye : isEn ? 'Views: ' : '瀏覽次數:', + download : isEn ? 'Download: ' : '下載檔案:', + search : isEn ? 'Search' : '搜尋', + bars : isEn ? 'Menu' : '選單', + print : isEn ? 'Print this page' : '列印此頁', + share : isEn ? 'Share' : '分享至社群', + close : isEn ? 'Close window' : '關閉視窗', + closePopup : isEn ? 'Close announcement' : '關閉公告視窗', + closeGallery: isEn ? 'Close gallery' : '關閉相簿', + toggleDesc : isEn ? 'Show or hide image description' : '顯示或隱藏圖片說明', + themeSwitch : isEn ? 'Switch gallery theme': '切換相簿主題', + showOriginal: isEn ? 'Show original image' : '顯示原始圖片' + }; - // --- 策略 A:常見資訊型圖示 (自動識別內容意義) --- - if (cls.includes('calendar')) labelText = '日期:'; - else if (cls.includes('user') || cls.includes('male')) labelText = '發布者:'; - else if (cls.includes('tag')) labelText = '標籤:'; - else if (cls.includes('clock') || cls.includes('time')) labelText = '時間:'; - else if (cls.includes('map-marker') || cls.includes('location')) labelText = '地點:'; - else if (cls.includes('phone')) labelText = '電話:'; - else if (cls.includes('envelope') || cls.includes('mail')) labelText = '信箱:'; - else if (cls.includes('folder')) labelText = '分類:'; - else if (cls.includes('eye')) labelText = '瀏覽次數:'; - else if (cls.includes('download')) labelText = '下載檔案:'; - - // --- 策略 B:功能性按鈕 (如果 i 放在 或 - `); - - const audio = $(''); - - $('.rucaptcha-image').after(audioButton, audio); + function fixCaptchaImgA11y() { + setTimeout(function () { + // ✅ 先確認頁面上真的有驗證碼圖片,再往下執行 + if (!$('.rucaptcha-image').length) return; + + var pageLang = ($('html').attr('lang') || 'zh-Hant').toLowerCase(); + var isEn = pageLang.startsWith('en'); + + var i18n = { + alt: isEn ? 'Captcha image, click to refresh' : '驗證碼圖片,點擊可更換', + title: isEn ? 'Captcha image, click to refresh' : '驗證碼圖片,點擊可更換', + label: isEn ? 'Click to refresh captcha' : '點擊更換驗證碼', + audioBtn: isEn ? 'Play captcha audio' : '播放驗證碼語音', + audioSrc: isEn ? '/rucaptcha/?format=wav&locale=en' : '/rucaptcha/?format=wav&locale=zh_tw' + }; + + var $captchaImg = $('.rucaptcha-image'); + + // ✅ 移除 onload + $captchaImg.removeAttr('onload'); + + // ✅ 補上有意義的 alt、role、tabindex、title + $captchaImg.attr({ + 'alt': i18n.alt, + 'title': i18n.title, + 'role': 'button', + 'tabindex': '0', + 'aria-label': i18n.label + }); + + // ✅ Enter / Space 觸發更換驗證碼 + $captchaImg.off('keydown.captchaA11y').on('keydown.captchaA11y', function (e) { + if (e.which === 13 || e.which === 32) { + e.preventDefault(); + $(this).trigger('click'); + } + }); + + // ✅ 插入語音按鈕和 audio(若還沒插入過) + if (!$('#captcha_audio').length) { + var $audioButton = $( + '' + ); + + var $audio = $(''); + + $captchaImg.after($audioButton, $audio); + } + + }, 500); } + + fixCaptchaImgA11y(); }); //萬用表格searchbtn2 @@ -1723,6 +2136,14 @@ // if($('.show-announcement').hasClass('show-announcement')) { // $('.').css('', ''); // } + $(function() { + var $headerNav = $('.header-nav'); + $headerNav.contents().each(function() { + if (this.nodeType === 3 && this.nodeValue.trim() === '|') { + $(this).remove(); + } + }); + }); if($('.s-annc').length){ $(".carousel_images h4").remove(); @@ -1737,25 +2158,7 @@ // }); } $('.s-annc__tag-wrap ').after($('.s-annc__post-orbithashtags')); - $('a').each(function () { - const $a = $(this); - // 有圖示或圖片就不刪 - if ($a.find('i, img').length > 0) return; - - // 沒有任何實際文字內容(去除空白) - const hasVisibleText = $a.text().trim().length > 0; - - // 進一步判斷 span 內部是否完全為空 - const allChildrenEmpty = $a.children().length > 0 && $a.children().toArray().every(child => { - return $(child).text().trim().length === 0; - }); - - // 如果沒有文字內容且子元素全為空,則移除 - if (!hasVisibleText && allChildrenEmpty) { - $a.remove(); - } - }); $('.i-member-pic-wrap a').removeAttr('target'); function markCheckStatusButton() { $('.ask-question').each(function () { @@ -1872,6 +2275,11 @@ }else{ $('.navbar-header').before($('.header-nav')); }; + // if ($(window).width() <769) { + // $('.leftnav').append($('.header-nav')); + // }else{ + // $('.leftnav').append($('.header-nav')); + // }; $('.sitemenu-vertical .sitemenu-dropdown-toggle').click(function(){ $('.sitemenu-vertical .dropdown-menu').slideToggle(); $(".sitemenu-vertical .sitemenu-dropdown-toggle").toggleClass("fa-caret-down"); @@ -1939,6 +2347,11 @@ }else{ $('.navbar-header').before($('.header-nav')); }; + // if ($(window).width() <769) { + // $('.leftnav').append($('.header-nav')); + // }else{ + // $('.leftnav').append($('.header-nav')); + // }; if ($(window).width() > 821) { $('.form-horizontal').append($('.cancelbooking')); @@ -2002,118 +2415,276 @@ init(); }); - //orbitbar無障礙js - $(document).ready(function() { - const isEnglish = document.documentElement.lang === 'en'; +// 1. OrbitBar 基礎與搜尋選單邏輯 +$(document).ready(function() { + const isEn = document.documentElement.lang === 'en'; + const $orbitLabel = $('label[for="open-orbit-nav"]'); + const $searchArea = $('.orbit-bar-search-sign-language'); + const $firstInput = $('#q'); // 搜尋框通常是選單內第一個獲焦元素 - if (isEnglish) { - $('.navbar-toggle').attr({ - title: 'menu', - 'aria-label': 'menu' - }); - $('label[for="open-orbit-nav"]').attr({ - title: 'Site search and language menu', - 'aria-label': 'Site search and language menu' - }); - $('.mobile-button').attr({ - title: 'Language menu', - 'aria-label': 'Language menu' - }); - } else { - $('label[for="open-orbit-nav"]').attr({ - title: '全站収尋及語言切換選單', - 'aria-label': '全站収尋及語言切換選單' - }); - $('.mobile-button').attr({ - title: '語言切換選單', - 'aria-label': '語言切換選單' - }); - } - + // 初始化屬性 + if (isEn) { + $orbitLabel.attr({ title: 'Site search and language menu', 'aria-label': 'Site search and language menu' }); + } else { + $orbitLabel.attr({ title: '全站搜尋及語言切換選單', 'aria-label': '全站搜尋及語言切換選單' }); + } + $orbitLabel.attr({ 'role': 'button', 'aria-haspopup': 'true', 'aria-expanded': 'false', 'tabindex': '0' }); - $('label[for="open-orbit-login"]').removeAttr('tabindex'); - $('#orbit-bar').find('li').each(function() { - var $li = $(this); - - // 如果

  • 中没有 元素,则为
  • 设置 tabindex="0" - if ($li.children('a').length === 0) { - $li.attr('tabindex', '0'); - } else { - // 如果
  • 中有 元素,则确保 有 tabindex="0" - $li.find('a').attr('tabindex', '0'); - - // 确保
  • 不影响焦点管理,移除
  • 的 tabindex - $li.removeAttr('tabindex'); - - // 如果
  • 被聚焦,自动跳转到 元素 - $li.on('focus', function() { - $(this).find('a').focus(); - }); - } - }); - $('label[for="open-orbit-nav"]').attr('tabindex', '0'); - // 当屏幕宽度小于 768px 时,将 .orbit-bar-search-sign-language 移动到 + // 桌面版 + 手機版都處理 + // ============================================= + var $activeLis = $langUl.find('li.active') + .add($('#language-li-ul').find('li.active')); - $('#language-li').on('focus', function() { - // 给 #language 内部的 ul 元素添加 show 类 - $(this).find('ul').addClass('show'); - }); - $('#language-li ul > li:last-child>a').on('blur', function() { - $('#language-li ul').removeClass('show'); - $('.orbit-bar-search-sign-language').removeClass('show'); - }); - $('label[for="open-orbit-login"]').on('blur', function() { - $('.orbit-bar-search-sign-language').removeClass('show'); - }); - $('#gotocenter').on('focus', function() { - // 当 #gotocenter 被选中时,移除 .orbit-bar-search-sign-language 上的 show 类 - $('.orbit-bar-search-sign-language').removeClass('show'); - }); - $('label[for="open-orbit-nav"]').on('click', function() { - // 切換 .orbit-bar-search-sign-language 的 .show 類別 - $('.orbit-bar-search-sign-language').removeClass('show'); - }); - $('li[tabindex="0"]').each(function () { - const $li = $(this); - if ($li.find('input').length > 0) { - $li.removeAttr('tabindex'); + $activeLis.each(function() { + var $li = $(this); + if ($li.find('a, button').length === 0) { + var activeText = $li.text().trim(); + $li.html( + '' + + activeText + + '' + ); + } + }); + + // ============================================= + // Desktop 語言按鈕 + // ============================================= + if ($desktopBtn.length > 0) { + $desktopBtn.attr({ + 'aria-expanded': 'false', + 'role': 'button', + 'aria-haspopup': 'true', + 'title': correctTitle + }); + $desktopBtn.removeAttr('aria-label'); + + function openLangMenu() { + $langUl.addClass('show'); + $desktopBtn.attr('aria-expanded', 'true'); + $('.orbit-bar-search-sign-language').addClass('show'); + } + function closeLangMenu() { + $langUl.removeClass('show'); + $desktopBtn.attr('aria-expanded', 'false'); + } + + // 原有:focus 展開 + $desktopBtn.on('focus', function() { + openLangMenu(); + }); + + // ✅ 新增 GN1210100E:Enter / Space 切換、Escape 收合 + $desktopBtn.on('keydown', function(e) { + if (e.which === 13 || e.which === 32) { + e.preventDefault(); + $langUl.hasClass('show') ? closeLangMenu() : openLangMenu(); + } + if (e.which === 27) { + closeLangMenu(); + $desktopBtn.focus(); + } + }); + + // 原有:click 切換 + $desktopBtn.on('click', function(e) { + e.preventDefault(); + $langUl.hasClass('show') ? closeLangMenu() : openLangMenu(); + }); + + // ✅ 新增:選單內 Escape 跳回按鈕 + $langUl.find('a').on('keydown', function(e) { + if (e.which === 27) { + e.preventDefault(); + closeLangMenu(); + $desktopBtn.focus(); + } + }); + + // 原有:焦點離開整個 language-li 時收合 + $langLi.on('focusout', function() { + var $container = $(this); + setTimeout(function() { + if (!$container.is(':focus-within')) { + closeLangMenu(); + } + }, 150); + }); } - }); - - }); + + // ============================================= + // 手機版選單補強(原有邏輯完整保留) + // ============================================= + var $mobileBtn = $('.mobile-button'); + if ($mobileBtn.length > 0) { + $mobileBtn.attr({ 'role': 'button', 'tabindex': '0', 'aria-haspopup': 'true', 'aria-expanded': 'false' }); + $mobileBtn.on('focus', function() { + $(this).closest('li').find('ul').addClass('show'); + $(this).attr('aria-expanded', 'true'); + }); + $mobileBtn.on('keydown', function(e) { + if (e.which === 13 || e.which === 32) { + e.preventDefault(); + var $ul = $(this).closest('li').find('ul'); + $ul.toggleClass('show'); + $(this).attr('aria-expanded', $ul.hasClass('show') ? 'true' : 'false'); + } + }); + $('#language-li-ul').on('focusout', function() { + var $container = $(this); + setTimeout(function() { + if (!$container.is(':focus-within')) { + $container.find('ul').removeClass('show'); + $mobileBtn.attr('aria-expanded', 'false'); + } + }, 150); + }); + } + + // ============================================= + // 原有:MutationObserver 強制鎖定 title + // ============================================= + var target = document.getElementById('languagebutton'); + if (target) { + var observer = new MutationObserver(function() { + if (target.getAttribute('title') !== correctTitle) { + target.setAttribute('title', correctTitle); + } + }); + observer.observe(target, { attributes: true, attributeFilter: ['title'] }); + } + } + + setTimeout(fixLanguageA11y, 600); +}); +// rwd左上選單無障礙 +$(function() { + /** + * 修正:當焦點離開整個區塊(含語言選單最後一項)時,關閉大選單 + */ + function fixSearchMenuFocusOut() { + var $searchArea = $('.orbit-bar-search-sign-language'); + var $orbitLabel = $('label[for="open-orbit-nav"]'); + var $langBtn = $('#languagebutton'); + + // 使用 focusout 監聽整個搜尋/語言區域 + $searchArea.on('focusout', function(e) { + // 關鍵:使用 setTimeout 讓 document.activeElement 抓到下一個獲焦元素 + setTimeout(function() { + // 如果目前的焦點不在 $searchArea 裡面,也不是回到觸發的 $orbitLabel 上 + if (!$searchArea.is(':focus-within') && !$(document.activeElement).is($orbitLabel)) { + + // 1. 移除大區塊顯示 + $searchArea.removeClass('show'); + + // 2. 移除子層語言選單顯示 + $searchArea.find('ul').removeClass('show'); + + // 3. 狀態重置為「折疊」供語音報讀 + $orbitLabel.attr('aria-expanded', 'false'); + $langBtn.attr('aria-expanded', 'false'); + } + }, 50); + }); + + // 桌面版 Language 按鈕特殊處理:焦點移入時 + $langBtn.on('focus', function() { + // 確保父層搜尋區塊是顯示的 (針對從別處直接 tab 過來的情況) + $searchArea.addClass('show'); + $(this).attr('aria-expanded', 'true'); + }); + + // 針對手機版 mobile-button (span) 同理處理 + $('.mobile-button').on('focusout', function() { + var $mobileParent = $('#language-li-ul'); + setTimeout(function() { + if (!$mobileParent.is(':focus-within')) { + $mobileParent.find('ul').removeClass('show'); + $('.mobile-button').attr('aria-expanded', 'false'); + } + }, 50); + }); + } + + setTimeout(fixSearchMenuFocusOut, 600); +}); //萬用表格查詢按鈕翻中英 $(document).ready(function () { const lang = $('html').attr('lang'); @@ -2375,6 +2946,214 @@ $(document).ready(function () { } } }); +}); +//網站導覽 +$(document).ready(function() { + // 1. 定位到網站導覽的連結 (使用 href 屬性定位最精確) + var $sitemapLink = $('.header-nav a[href*="/sitemap"]'); + + // 2. 遍歷該連結之後的所有節點 + $sitemapLink.each(function() { + // 取得該 標籤後方的下一個節點 (可以是文字或標籤) + var nextNode = this.nextSibling; + + // 3. 檢查下一個節點是否為文字節點 (nodeType === 3) + // 並且內容包含 "|" + if (nextNode && nextNode.nodeType === 3) { + // 使用正則表達式將 | 替換為空字串 + nextNode.nodeValue = nextNode.nodeValue.replace('|', ''); + } + }); +}); +$(document).ready(function () { + setTimeout(function () { + $('iframe.twitter-share-button, iframe.twitter-tweet-button').each(function () { + $(this).attr('title', '分享至 X 在新視窗開啟'); + }); + }, 1500); +}); +//orbitbarlogo無障礙 +$(function() { + var $logo = $('.orbit-bar-logo'); + var $inner = $logo.contents().not('p'); + + var $span = $('').addClass('orbit-bar-logo').append($inner); + $logo.replaceWith($span); +}); +//orbitbar登入無障礙 +$(function() { + var $loginWindow = $('.login-window'); + var $checkbox = $('#open-orbit-login'); + + // login-window 顯示時,焦點移到 label.close + $checkbox.on('change', function() { + if ($(this).is(':checked')) { + setTimeout(function() { + $('.login-window .login-header label.close').focus(); + }, 50); + } + }); + + // login-window 失去焦點時,關閉並還原焦點 + $loginWindow.on('focusout', function() { + var $thisWindow = $(this); + setTimeout(function() { + // document.hasFocus() 為 false 代表焦點移到瀏覽器外(開發者工具、右鍵選單等),不關閉 + if (!document.hasFocus()) return; + + if (!$thisWindow.is(':focus-within') && $checkbox.is(':checked')) { + $(".orbit-bar-logo").one("focusin", function() { + if (window.orbit_login_button) { + window.orbit_login_button.focus(); + } + }); + $checkbox.click(); + } + }, 500); + }); +}); +//gallery層級問題 +$(function() { + var target = document.getElementById('gallery-theater-stage'); + if (!target) return; + + // 頁面載入時若已存在 #gallery-theater-stage,則還原 z-index + $('.verticalhome').css('z-index', 'auto'); + + var observer = new MutationObserver(function() { + var display = target.style.display; + if (display === 'block') { + $('.verticalhome').css('z-index', '2000'); + } else if (display === 'none') { + $('.verticalhome').css('z-index', 'auto'); + } + }); + + observer.observe(target, { + attributes : true, + attributeFilter: ['style'] + }); +}); +$(document).ready(function() { + + function removeFakeLinks() { + $('a.fake_link').remove(); + } + + // 初始執行一次 + removeFakeLinks(); + + // Shift+Tab 時也執行 + $(document).on('keydown', function(e) { + if (e.key === 'Tab' && e.shiftKey) { + removeFakeLinks(); + } + }); + + // MutationObserver 監聽 DOM 變化,fake_link 一出現就移除 + var observer = new MutationObserver(function(mutations) { + mutations.forEach(function(mutation) { + mutation.addedNodes.forEach(function(node) { + // 直接是 fake_link + if ($(node).is('a.fake_link')) { + $(node).remove(); + } + // 或其子元素內含 fake_link + if ($(node).find) { + $(node).find('a.fake_link').remove(); + } + }); + }); + }); + + observer.observe(document.body, { + childList: true, + subtree: true + }); + +}); +//萬用表格無障礙 +function fixSortLinkA11y() { + $('a').filter(function () { + return $(this).find('.universal-th-icon').length > 0; + }).each(function () { + var $link = $(this); + + // === Step 1: 移除 display:none 的 span === + $link.find('span').each(function () { + if ($(this).css('display') === 'none' || $(this).attr('style') && $(this).attr('style').indexOf('display: none') !== -1) { + $(this).remove(); + } + }); + + // === Step 2: 取得 aria-label === + var ariaLabel = $link.attr('aria-label') || ''; + + // 若 aria-label 空白或含未替換模板變數,從旁邊 .universal-th-text 補 + if (!ariaLabel || ariaLabel.indexOf('{{') !== -1) { + var $th = $link.closest('th, div[class*="col-"]'); + var colName = $th.find('.universal-th-text').text().trim(); + ariaLabel = colName ? '重新排序' + colName : '排序'; + $link.attr('aria-label', ariaLabel); + } + + // === Step 3: 補上 title 屬性 === + if (!$link.attr('title')) { + $link.attr('title', ariaLabel + '(在本視窗開啟)'); + } + + // === Step 4: 確保圖示有 aria-hidden === + $link.find('.universal-th-icon').attr('aria-hidden', 'true'); + + // === Step 5: 補上 visually-hidden 連結文字 === + if ($link.find('.visually-hidden').length === 0) { + $link.append('' + ariaLabel + ''); + } + }); +} +function fixSearchInputA11y() { + $('input[type="search"], input[type="text"]').each(function () { + var $input = $(this); + + // 已有對應 label 就跳過 + var inputId = $input.attr('id'); + if (inputId && $('label[for="' + inputId + '"]').length) return; + + // 已有 aria-label / aria-labelledby / title 就跳過 + if ($input.attr('aria-label') || $input.attr('aria-labelledby') || $input.attr('title')) return; + + // 從 placeholder 取得說明文字 + var placeholder = $input.attr('placeholder') || ''; + + // 從最近的 th 或欄位標題取得欄位名稱 + var colName = ''; + var $th = $input.closest('th, div[class*="col-"]'); + if ($th.length) { + colName = $th.find('.universal-th-text').text().trim(); + } + + // 組合標籤文字 + var label = ''; + if (colName && placeholder) { + label = colName + '搜尋'; + } else if (colName) { + label = colName + '搜尋'; + } else if (placeholder) { + label = placeholder; + } else { + label = '搜尋關鍵字'; + } + + $input.attr('aria-label', label); + $input.attr('title', label); + }); +} + +$(document).ready(function () { + setTimeout(function () { + fixSortLinkA11y(); + fixSearchInputA11y(); + }, 500); }); // 執行 member等高計算,目前改用flexbox故mark掉 by ika 20160105 // $(window).load(function() { @@ -2383,4 +3162,137 @@ $(document).ready(function () { // } // }); + //banner英文 + $(function() { + function fixBannerA11yByLang() { + setTimeout(function() { + var pageLang = ($('html').attr('lang') || 'zh-Hant').toLowerCase(); + var isEn = pageLang.startsWith('en'); + + var i18n = { + playControls: isEn ? 'Playback Controls' : '播放控制選項', + resume: isEn ? 'Play' : '繼續播放', + pause: isEn ? 'Pause' : '暫停播放', + prev: isEn ? 'Previous' : '上一張', + next: isEn ? 'Next' : '下一張', + slide: isEn ? 'Slide' : '第', + slideUnit: isEn ? '' : ' 張投影片' + }; + + $('.w-ba-banner').each(function() { + var $banner = $(this); + + // ✅ 播放控制選項 radiogroup label + $banner.find('.controlplay').attr('aria-label', i18n.playControls); + + // ✅ 繼續播放按鈕 + $banner.find('.resume-slide').attr({ + 'aria-label': i18n.resume, + 'title': i18n.resume + }); + $banner.find('.resume-slide p').text(i18n.resume); + + // ✅ 暫停播放按鈕 + $banner.find('.pause-slide').attr({ + 'aria-label': i18n.pause, + 'title': i18n.pause + }); + $banner.find('.pause-slide p').text(i18n.pause); + + // ✅ 上一張按鈕 + $banner.find('.prev-button').attr('aria-label', i18n.prev); + + // ✅ 下一張按鈕 + $banner.find('.next-button').attr('aria-label', i18n.next); + + // ✅ Pager 按鈕 + var $slides = $banner.find('.w-ba-banner__slide'); + $banner.find('.banner-pager button').each(function(index) { + var slideTitle = $slides.eq(index).data('cycle-title') || ''; + var ariaLabel = isEn + ? i18n.slide + ' ' + (index + 1) + (slideTitle ? ' ' + slideTitle : '') + : i18n.slide + (index + 1) + i18n.slideUnit + (slideTitle ? ' ' + slideTitle : ''); + $(this).attr({ + 'aria-label': ariaLabel, + 'title': ariaLabel + }); + }); + }); + + // ✅ Cycle2 初始化後也重新處理 Pager(因為 pager 是動態產生的) + $('.w-ba-banner .cycle-slideshow').on('cycle-post-initialize cycle-after', function() { + var $banner = $(this).closest('.w-ba-banner'); + var $slides = $banner.find('.w-ba-banner__slide'); + $banner.find('.banner-pager button').each(function(index) { + var slideTitle = $slides.eq(index).data('cycle-title') || ''; + var ariaLabel = isEn + ? i18n.slide + ' ' + (index + 1) + (slideTitle ? ' ' + slideTitle : '') + : i18n.slide + (index + 1) + i18n.slideUnit + (slideTitle ? ' ' + slideTitle : ''); + $(this).attr({ + 'aria-label': ariaLabel, + 'title': ariaLabel + }); + }); + }); + + }, 800); + } + + fixBannerA11yByLang(); + }); +//bannercontrolplay +$(function() { + function fixBannerPlayPauseA11y() { + setTimeout(function() { + var pageLang = ($('html').attr('lang') || 'zh-Hant').toLowerCase(); + var isEn = pageLang.startsWith('en'); + + var i18n = { + resume: isEn ? 'Play' : '繼續播放', + pause: isEn ? 'Pause' : '暫停播放' + }; + + $('.w-ba-banner').each(function() { + var $banner = $(this); + var $controlplay = $banner.find('.controlplay'); + + // ✅ 把 radiogroup 改為一般容器 + $controlplay.removeAttr('role aria-label'); + + // ✅ 繼續播放按鈕 + var $resume = $banner.find('.resume-slide'); + $resume + .attr('role', 'button') + .attr('aria-pressed', $resume.hasClass('active') ? 'true' : 'false') + .attr('aria-label', i18n.resume) + .attr('title', i18n.resume) + .removeAttr('aria-checked aria-live'); + + // ✅ 暫停播放按鈕 + var $pause = $banner.find('.pause-slide'); + $pause + .attr('role', 'button') + .attr('aria-pressed', $pause.hasClass('active') ? 'true' : 'false') + .attr('aria-label', i18n.pause) + .attr('title', i18n.pause) + .removeAttr('aria-checked aria-live'); + + // ✅ 點擊後同步 aria-pressed + $resume.off('click.bannerA11y').on('click.bannerA11y', function() { + $resume.attr('aria-pressed', 'true'); + $pause.attr('aria-pressed', 'false'); + }); + + $pause.off('click.bannerA11y').on('click.bannerA11y', function() { + $pause.attr('aria-pressed', 'true'); + $resume.attr('aria-pressed', 'false'); + }); + }); + + }, 800); + } + + fixBannerPlayPauseA11y(); +}); + }(jQuery, window)); diff --git a/assets/stylesheets/template/base/_accesskey.scss b/assets/stylesheets/template/base/_accesskey.scss index 580979e..dee482b 100644 --- a/assets/stylesheets/template/base/_accesskey.scss +++ b/assets/stylesheets/template/base/_accesskey.scss @@ -3,11 +3,10 @@ a[accesskey] { position: absolute; margin-left: -0.9375em; - color: transparent !important; } #orbit-bar a[accesskey] { - color: #666666 !important; + color: #666666; margin-left: 0; position: relative; &:hover { @@ -21,6 +20,3 @@ a[accesskey] { color: transparent !important; } } -#layout-navigation a[accesskey]{ - position: absolute!important; -} \ No newline at end of file diff --git a/assets/stylesheets/template/base/_global.scss b/assets/stylesheets/template/base/_global.scss index 58825e0..6e01b9b 100644 --- a/assets/stylesheets/template/base/_global.scss +++ b/assets/stylesheets/template/base/_global.scss @@ -2,15 +2,66 @@ @import "../initial"; @import "variables"; -#orbit-bar .orbit-bar-title a{ - color: #333!important; + +.fa-classic, .fa-regular, .fa-solid, .far, .fas ,.fa{ + font-family: "FontAwesome"; +} +li#language-li { + @media(max-width:767px){ + display: none !important; + } } #orbit-bar .orbit-bar-inner > label:focus, #orbit-bar .orbit-bar-inner > label.focus{ .orbit-bar-search-sign-language{ display: block } } +#orbit-bar .orbit-bar-menu .orbit-bar-logo{ + cursor: unset!important; +} +.login-btn:focus { + outline: 0.3125em auto -webkit-focus-ring-color !important; + transition: all 0.2s ease-in-out!important; +} +.orbit-bar-inner{ + li.active { + @media(min-width:768px){ + padding: 0 !important; + } + } +} +// label[for="open-orbit-login"] { +// @media(max-width:768px){ +// display: none!important; +// } +// } +// [accesskey="U"],[accesskey="W"]{ +// @media(max-width:768px){ +// color: #666!important; +// } +// } +.orbit-bar-inner{ + [accesskey="U"]{ + height: 40px; + display: inline-block!important; + line-height: 40px; + float: left; + @media(min-width:769px){ + color: #fff!important; + } + } + [accesskey="W"]{ + height: 40px; + display: inline-block!important; + line-height: 40px; + float: left; + color: #fff!important; + @media(min-width:769px){ + color: #fff!important; + } + } +} .orbit-bar-search-sign-language{ @media(max-width:767px){ position: absolute !important; @@ -168,6 +219,6 @@ img{ // overflow-x: auto; // } // } -*[data-pp]>.editmode-ps>a, .admin-subpart-area .content>.editmode-ps>a{ - position: !important; -} \ No newline at end of file +input[type=checkbox]:focus { + outline: 0.3125em auto -webkit-focus-ring-color; +} diff --git a/assets/stylesheets/template/base/_unity.scss b/assets/stylesheets/template/base/_unity.scss index 0068336..d1ecf6b 100644 --- a/assets/stylesheets/template/base/_unity.scss +++ b/assets/stylesheets/template/base/_unity.scss @@ -25,7 +25,6 @@ width: 35px; height: 35px; background-size: contain; - margin-top: 9px; margin-right: 4px; } } diff --git a/assets/stylesheets/template/base/_variables.scss b/assets/stylesheets/template/base/_variables.scss index 93eda2b..d0326f1 100644 --- a/assets/stylesheets/template/base/_variables.scss +++ b/assets/stylesheets/template/base/_variables.scss @@ -16,11 +16,14 @@ $theme-red: #d20001; $theme-blue: #003d7e; $theme-color-main: #333; -$theme-color-second:#a28e69; -$theme-color-third: #a28e69; -$theme-color-green: #a28e69; +$theme-color-second:#84714d; +$theme-color-third: #84714d; +$theme-color-green: #84714d; $theme-color-hover:#4f2f26; +.fa, .fa-classic, .fa-regular, .fa-solid, .far, .fas { + font-family: "Font Awesome 6 Free", FontAwesome; +} // Font stacks $main-font: "Noto Sans TC", sans-serif; $sub-font: "Noto Sans TC", sans-serif; diff --git a/assets/stylesheets/template/layout/content.scss b/assets/stylesheets/template/layout/content.scss index 05dc418..cee6dde 100644 --- a/assets/stylesheets/template/layout/content.scss +++ b/assets/stylesheets/template/layout/content.scss @@ -1,6 +1,11 @@ @charset "utf-8"; @import "../initial"; +.line-it-button{ + .label{ + color: #333!important; + } +} .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9{ @media(max-width: $screen-xs){ padding: 0; @@ -269,12 +274,12 @@ } .internal-page{ .vk_borderBox_title_container{ - background-color: #f68f46; + background-color: #bb5b16; border-radius: 8px 8px 0 0; } .vk_borderBox_body{ border-radius: 0 0 8px 8px; - border: 2px solid #f68f46; + border: 2px solid #bb5b16; background: transparent; } diff --git a/assets/stylesheets/template/layout/header.scss b/assets/stylesheets/template/layout/header.scss index 48dd7a8..c22603b 100644 --- a/assets/stylesheets/template/layout/header.scss +++ b/assets/stylesheets/template/layout/header.scss @@ -84,7 +84,7 @@ a { color: #333; text-decoration: none; - padding:15px 15px 12px 15px; + padding:5px; } @media (min-width:1025px) { diff --git a/assets/stylesheets/template/modules/ad_banner.scss b/assets/stylesheets/template/modules/ad_banner.scss index 5a759be..971fa0f 100644 --- a/assets/stylesheets/template/modules/ad_banner.scss +++ b/assets/stylesheets/template/modules/ad_banner.scss @@ -8,6 +8,7 @@ // Widget // ## gerenral styles + ul.button-mid{ .prev-button{ height: 2em !important; @@ -30,13 +31,36 @@ ul.button-mid{ } } } -ul.button-mid{ - margin:0; - z-index: 201; +.button-mid { + position: absolute; + width: 100%; + height: 0; + top: 50%; + z-index: 201; } .banner-pager .active-slide button{ background: $theme-color-second!important; } +.w-ba-banner .button-mid { + position: absolute; + width: 100%; + height: 0; + top: 50%; + z-index: 201; +} +.next-button, .prev-button { + cursor: pointer; +} +.w-ba-banner .button-mid { + position: absolute; + width: 100%; + height: 0; + top: 50%; + z-index: 201; +} +.next-button, .prev-button { + cursor: pointer; +} iframe{ border: none; } @@ -252,12 +276,12 @@ ul.button-mid{ width: 100%; height: 100%; } - .banner-pager { - right: 1em; - top: -2em; - z-index: 100; - display: none; - } + // .banner-pager { + // right: 1em; + // top: -2em; + // z-index: 100; + // display: none; + // } .button-mid{ z-index: 101; } @@ -375,12 +399,12 @@ ul.button-mid{ } - .banner-pager { - right: 1em; - top: -2em; - z-index: 100; - display: none; - } + // .banner-pager { + // right: 1em; + // top: -2em; + // z-index: 100; + // display: none; + // } } // Widget 3 diff --git a/assets/stylesheets/template/modules/announcement.scss b/assets/stylesheets/template/modules/announcement.scss index 03ced6d..c877452 100644 --- a/assets/stylesheets/template/modules/announcement.scss +++ b/assets/stylesheets/template/modules/announcement.scss @@ -2672,12 +2672,6 @@ .i-annc__entry-title { margin-bottom: 0; margin-top: 0; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; - text-overflow: ellipsis; - // clear: both; } .i-annc__title { @@ -2685,6 +2679,11 @@ color: $theme-color-main; text-decoration: none; @extend .i-title; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + text-overflow: ellipsis; + overflow: hidden; &:hover { color: $theme-color-second; } diff --git a/assets/stylesheets/template/modules/archives.scss b/assets/stylesheets/template/modules/archives.scss index 4a1b030..9dbb1d8 100644 --- a/assets/stylesheets/template/modules/archives.scss +++ b/assets/stylesheets/template/modules/archives.scss @@ -148,16 +148,19 @@ .i-archive-title { @extend .unity-title; } -.link{margin-left: 0.5em;} -.txt { background-color: #6dbb73; margin-left: 0.5em;} -.xlsx { background-color: #bb6d7f; margin-left: 0.5em;} -.pdf { background-color: #3b8347; margin-left: 0.5em;} -.docx { background-color: #846dbb; margin-left: 0.5em;} -.pptx { background-color: #6d77bb; margin-left: 0.5em;} -.jpg { background-color: #bb6d6d; margin-left: 0.5em;} -.zip { background-color: #dcb957; margin-left: 0.5em;} -.docx{margin-left: 0.5em;} -.odt{margin-left: 0.5em;} +/* 2. 對應的檔案顏色 (轉為 iOS 半透明色調) */ +.link { background-color: #1368d4 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.txt { background-color: #2a7e31 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.xlsx { background-color: #9e3050 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.pdf { background-color: #2a7d36 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.docx { background-color: #5e46a0 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.doc { background-color: #1368d4 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.pptx { background-color: #3d4aa0 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.jpg { background-color: #8f3333 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.zip { background-color: #8a6400 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.rar { background-color: #9e5000 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.xls { background-color: #2a7e31 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ +.odt { background-color: #767676 !important; margin-left: 0.5em; } /* 對比 4.6:1 */ .table>caption+thead>tr:first-child>td, .table>caption+thead>tr:first-child>th, .table>colgroup+thead>tr:first-child>td, .table>colgroup+thead>tr:first-child>th, .table>thead:first-child>tr:first-child>td, .table>thead:first-child>tr:first-child>th{ // border-top: 0.0625em solid #ddd; } @@ -537,6 +540,7 @@ } li{ list-style: none; + margin-bottom: 0.5em; } } .index-archive-15{ diff --git a/assets/stylesheets/template/modules/event_news.scss b/assets/stylesheets/template/modules/event_news.scss index c30b4c3..61b7f3a 100644 --- a/assets/stylesheets/template/modules/event_news.scss +++ b/assets/stylesheets/template/modules/event_news.scss @@ -492,7 +492,6 @@ .i-annc__list { display: flex; flex-wrap: wrap; - justify-content: center; } .i-annc__title { font-family: $main-font; diff --git a/assets/stylesheets/template/modules/member.scss b/assets/stylesheets/template/modules/member.scss index f0f1171..2b91d28 100644 --- a/assets/stylesheets/template/modules/member.scss +++ b/assets/stylesheets/template/modules/member.scss @@ -14,18 +14,18 @@ .i-member-pic-wrap{ overflow: hidden; } -.i-member-item{ - &:hover{ - img{ - transform: scale(1.1) !important; - -webkit-transition: .3s ease-out; - -moz-transition: .3s ease-out; - -ms-transition: .3s ease-out; - -o-transition: .3s ease-out; - transition: .3s ease-out; - } - } -} +// .i-member-item{ +// &:hover{ +// img{ +// transform: scale(1.1) !important; +// -webkit-transition: .3s ease-out; +// -moz-transition: .3s ease-out; +// -ms-transition: .3s ease-out; +// -o-transition: .3s ease-out; +// transition: .3s ease-out; +// } +// } +// } // Index 1 .index-member-1 { .i-member__status-title { diff --git a/assets/stylesheets/template/modules/menu.scss b/assets/stylesheets/template/modules/menu.scss index bc25cd6..881cc94 100644 --- a/assets/stylesheets/template/modules/menu.scss +++ b/assets/stylesheets/template/modules/menu.scss @@ -91,9 +91,6 @@ transition: all .3s ease; } } - .header-nav{ - display: none!important; - } -webkit-transition: all .3s ease; -moz-transition: all .3s ease; -ms-transition: all .3s ease; @@ -426,7 +423,7 @@ box-shadow: 2px 2px 5px #00000033; margin:0; transition-duration: 0.5s; - background: #f0f0f0; + background-color: $theme-color-second; & > a { padding: 1em 1.5em; } @@ -570,13 +567,13 @@ } .navbar-toggle { position: absolute; - left: 0; + left: 1em; background: transparent; top: 40px; z-index: 1; - height: 100vh; + height: 93vh; margin: 0; - width: 20%; + width: 13%; border: 0; } .cover { diff --git a/assets/stylesheets/template/template.scss b/assets/stylesheets/template/template.scss index 100bf95..89eab50 100644 --- a/assets/stylesheets/template/template.scss +++ b/assets/stylesheets/template/template.scss @@ -795,6 +795,23 @@ a.ui-state-default{ // color: #fff; // margin-top: 1em; } + input:focus { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + border-radius: 1em; + } +} +.btn-search:focus { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); } .search-box{ width: 100%; diff --git a/modules/ad_banner/_ad_banner_widget1.html.erb b/modules/ad_banner/_ad_banner_widget1.html.erb index 72699e2..a5e36dd 100644 --- a/modules/ad_banner/_ad_banner_widget1.html.erb +++ b/modules/ad_banner/_ad_banner_widget1.html.erb @@ -20,7 +20,7 @@ data-cycle-title="{{title}}" data-cycle-desc="{{context}}" data-overlay-template="

    {{title}}

    {{desc}}

    " - data-target="{{target}}" + data-bs-target="{{target}}" >
    @@ -65,7 +65,22 @@ }) $('[data-subpart-id="{{subpart-id}}"] .prev-button').click(function(){ $(this).parent("ul").parent('.w-ba-banner').find(".cycle-slideshow").cycle("prev"); - }) + }); + /* 修正點:處理 Pager 無障礙朗讀文字 */ + $('.cycle-slideshow').on('cycle-post-initialize', function(event, optionHash) { + var $container = $(this).closest('.w-ba-banner'); + var $slides = $(this).find('.w-ba-banner__slide'); + var $pagerButtons = $container.find(".banner-pager button"); + + $pagerButtons.each(function(index) { + var slideTitle = $slides.eq(index).data('cycle-title') || ""; + var ariaLabel = "第 " + (index + 1) + " 張投影片 " + slideTitle; + $(this).attr({ + "aria-label": ariaLabel, + "title": ariaLabel + }); + }); + }); \ No newline at end of file diff --git a/modules/announcement/_annc_widget1.html.erb b/modules/announcement/_annc_widget1.html.erb index 37a44d2..801531d 100644 --- a/modules/announcement/_annc_widget1.html.erb +++ b/modules/announcement/_annc_widget1.html.erb @@ -7,7 +7,7 @@
    diff --git a/modules/announcement/_annc_widget15.html.erb b/modules/announcement/_annc_widget15.html.erb index 8135e52..1ae3f85 100644 --- a/modules/announcement/_annc_widget15.html.erb +++ b/modules/announcement/_annc_widget15.html.erb @@ -27,7 +27,7 @@
  • diff --git a/modules/announcement/_annc_widget16.html.erb b/modules/announcement/_annc_widget16.html.erb index 859fe57..dcc68b0 100644 --- a/modules/announcement/_annc_widget16.html.erb +++ b/modules/announcement/_annc_widget16.html.erb @@ -22,7 +22,7 @@
    - {{img_description}} + {{img_description}}
    diff --git a/modules/announcement/_annc_widget18.html.erb b/modules/announcement/_annc_widget18.html.erb index fc7c154..27239f2 100644 --- a/modules/announcement/_annc_widget18.html.erb +++ b/modules/announcement/_annc_widget18.html.erb @@ -9,7 +9,7 @@
  • diff --git a/modules/announcement/_annc_widget2.html.erb b/modules/announcement/_annc_widget2.html.erb index fcd093f..8985c13 100644 --- a/modules/announcement/_annc_widget2.html.erb +++ b/modules/announcement/_annc_widget2.html.erb @@ -6,7 +6,7 @@
  • diff --git a/modules/announcement/_annc_widget20.html.erb b/modules/announcement/_annc_widget20.html.erb index dbb32c2..e5f428d 100644 --- a/modules/announcement/_annc_widget20.html.erb +++ b/modules/announcement/_annc_widget20.html.erb @@ -9,7 +9,7 @@
  • diff --git a/modules/announcement/_annc_widget21.html.erb b/modules/announcement/_annc_widget21.html.erb index 80c9b2f..5e1afff 100644 --- a/modules/announcement/_annc_widget21.html.erb +++ b/modules/announcement/_annc_widget21.html.erb @@ -27,7 +27,7 @@
  • diff --git a/modules/announcement/_annc_widget23.html.erb b/modules/announcement/_annc_widget23.html.erb index 33e64c3..d9cf614 100644 --- a/modules/announcement/_annc_widget23.html.erb +++ b/modules/announcement/_annc_widget23.html.erb @@ -7,7 +7,7 @@
    diff --git a/modules/announcement/_annc_widget24.html.erb b/modules/announcement/_annc_widget24.html.erb index 6dc75ab..110d301 100644 --- a/modules/announcement/_annc_widget24.html.erb +++ b/modules/announcement/_annc_widget24.html.erb @@ -9,7 +9,7 @@
  • diff --git a/modules/announcement/_annc_widget25.html.erb b/modules/announcement/_annc_widget25.html.erb index 85d1e8a..aada901 100644 --- a/modules/announcement/_annc_widget25.html.erb +++ b/modules/announcement/_annc_widget25.html.erb @@ -29,7 +29,7 @@
  • diff --git a/modules/announcement/_annc_widget26.html.erb b/modules/announcement/_annc_widget26.html.erb index 5da89d8..4cab655 100644 --- a/modules/announcement/_annc_widget26.html.erb +++ b/modules/announcement/_annc_widget26.html.erb @@ -7,7 +7,7 @@
    diff --git a/modules/announcement/_annc_widget3.html.erb b/modules/announcement/_annc_widget3.html.erb index 91f218a..bfea3e6 100644 --- a/modules/announcement/_annc_widget3.html.erb +++ b/modules/announcement/_annc_widget3.html.erb @@ -24,7 +24,7 @@

    {{subtitle}}

    - {{img_description}} + {{img_description}}
  • diff --git a/modules/announcement/_annc_widget4.html.erb b/modules/announcement/_annc_widget4.html.erb index 5fb4743..19e695e 100644 --- a/modules/announcement/_annc_widget4.html.erb +++ b/modules/announcement/_annc_widget4.html.erb @@ -9,7 +9,7 @@
  • diff --git a/modules/announcement/annc_index18.html.erb b/modules/announcement/annc_index18.html.erb index 778bb74..6ecfb02 100644 --- a/modules/announcement/annc_index18.html.erb +++ b/modules/announcement/annc_index18.html.erb @@ -3,7 +3,7 @@
    • diff --git a/modules/announcement/annc_index19.html.erb b/modules/announcement/annc_index19.html.erb index 36690e9..a22c192 100644 --- a/modules/announcement/annc_index19.html.erb +++ b/modules/announcement/annc_index19.html.erb @@ -2,9 +2,9 @@

      {{page-title}}

      • - +
        - + {{img_description}}
        diff --git a/modules/announcement/annc_index5.html.erb b/modules/announcement/annc_index5.html.erb index b5a5586..10d5aa7 100644 --- a/modules/announcement/annc_index5.html.erb +++ b/modules/announcement/annc_index5.html.erb @@ -2,10 +2,10 @@

        {{page-title}}

        • - +
          - + {{img_description}}
          diff --git a/modules/announcement/annc_index6.html.erb b/modules/announcement/annc_index6.html.erb index a093928..eac82a5 100644 --- a/modules/announcement/annc_index6.html.erb +++ b/modules/announcement/annc_index6.html.erb @@ -2,7 +2,7 @@

          {{page-title}}

          • - +
          • diff --git a/modules/archive/archive_index12.html.erb b/modules/archive/archive_index12.html.erb index 32aaf84..d6f9ca9 100644 --- a/modules/archive/archive_index12.html.erb +++ b/modules/archive/archive_index12.html.erb @@ -7,7 +7,7 @@

            - diff --git a/modules/archive/archive_index14.html.erb b/modules/archive/archive_index14.html.erb index 1cffc2d..8a62923 100644 --- a/modules/archive/archive_index14.html.erb +++ b/modules/archive/archive_index14.html.erb @@ -7,7 +7,7 @@

            - @@ -18,8 +18,7 @@ diff --git a/modules/archive/archive_index16.html.erb b/modules/archive/archive_index16.html.erb index faacba8..69ffe02 100644 --- a/modules/archive/archive_index16.html.erb +++ b/modules/archive/archive_index16.html.erb @@ -8,7 +8,7 @@

            {{created_at}}
            - diff --git a/modules/archive/archive_index2.html.erb b/modules/archive/archive_index2.html.erb index 6f18b5a..9f683da 100644 --- a/modules/archive/archive_index2.html.erb +++ b/modules/archive/archive_index2.html.erb @@ -6,7 +6,7 @@

            - diff --git a/modules/archive/archive_index4.html.erb b/modules/archive/archive_index4.html.erb index e4c39a4..6d6095f 100644 --- a/modules/archive/archive_index4.html.erb +++ b/modules/archive/archive_index4.html.erb @@ -6,7 +6,7 @@

            -

            diff --git a/modules/custom_announcement/_annc_widget1.html.erb b/modules/custom_announcement/_annc_widget1.html.erb index 7874f6a..47ef71f 100644 --- a/modules/custom_announcement/_annc_widget1.html.erb +++ b/modules/custom_announcement/_annc_widget1.html.erb @@ -5,7 +5,7 @@
            • - {{img_description}} + {{img_description}}
              diff --git a/modules/custom_announcement/_annc_widget15.html.erb b/modules/custom_announcement/_annc_widget15.html.erb index f51bfe8..f2e26a1 100644 --- a/modules/custom_announcement/_annc_widget15.html.erb +++ b/modules/custom_announcement/_annc_widget15.html.erb @@ -12,7 +12,7 @@
              • - {{img_description}} + {{img_description}}
                diff --git a/modules/custom_announcement/_annc_widget16.html.erb b/modules/custom_announcement/_annc_widget16.html.erb index e8f44b7..ed7d680 100644 --- a/modules/custom_announcement/_annc_widget16.html.erb +++ b/modules/custom_announcement/_annc_widget16.html.erb @@ -27,7 +27,7 @@
                - {{img_description}} + {{img_description}}
                diff --git a/modules/custom_announcement/_annc_widget18.html.erb b/modules/custom_announcement/_annc_widget18.html.erb index 059e48d..b74ee33 100644 --- a/modules/custom_announcement/_annc_widget18.html.erb +++ b/modules/custom_announcement/_annc_widget18.html.erb @@ -9,7 +9,7 @@
              • diff --git a/modules/custom_announcement/_annc_widget2.html.erb b/modules/custom_announcement/_annc_widget2.html.erb index ac0e8b9..b105a2e 100644 --- a/modules/custom_announcement/_annc_widget2.html.erb +++ b/modules/custom_announcement/_annc_widget2.html.erb @@ -5,7 +5,7 @@
                • - {{img_description}} + {{img_description}}
                  diff --git a/modules/custom_announcement/_annc_widget3.html.erb b/modules/custom_announcement/_annc_widget3.html.erb index 1dd7f21..56f73bb 100644 --- a/modules/custom_announcement/_annc_widget3.html.erb +++ b/modules/custom_announcement/_annc_widget3.html.erb @@ -24,7 +24,7 @@

                  {{subtitle}}

                  - {{img_description}} + {{img_description}}
                diff --git a/modules/custom_announcement/_annc_widget4.html.erb b/modules/custom_announcement/_annc_widget4.html.erb index 1c00e14..ea02034 100644 --- a/modules/custom_announcement/_annc_widget4.html.erb +++ b/modules/custom_announcement/_annc_widget4.html.erb @@ -8,7 +8,7 @@
                • - {{img_description}} + {{img_description}}
                  diff --git a/modules/custom_gallery/custom_gallery_index1.html.erb b/modules/custom_gallery/custom_gallery_index1.html.erb index 4531ca1..36a731f 100644 --- a/modules/custom_gallery/custom_gallery_index1.html.erb +++ b/modules/custom_gallery/custom_gallery_index1.html.erb @@ -6,7 +6,7 @@
                  - {{alt_title}} + {{album-name}}

                  diff --git a/modules/custom_gallery/custom_gallery_index3.html.erb b/modules/custom_gallery/custom_gallery_index3.html.erb index fb8f821..6388e93 100644 --- a/modules/custom_gallery/custom_gallery_index3.html.erb +++ b/modules/custom_gallery/custom_gallery_index3.html.erb @@ -6,7 +6,7 @@
                  - {{alt_title}} + {{album-name}}

                  diff --git a/modules/event_news_mod/_event_news_widget1.html.erb b/modules/event_news_mod/_event_news_widget1.html.erb index 23ae321..82775f3 100644 --- a/modules/event_news_mod/_event_news_widget1.html.erb +++ b/modules/event_news_mod/_event_news_widget1.html.erb @@ -6,7 +6,7 @@
                • diff --git a/modules/event_news_mod/_event_news_widget15.html.erb b/modules/event_news_mod/_event_news_widget15.html.erb index 33eb9d3..89b9ec1 100644 --- a/modules/event_news_mod/_event_news_widget15.html.erb +++ b/modules/event_news_mod/_event_news_widget15.html.erb @@ -24,7 +24,7 @@
                • diff --git a/modules/event_news_mod/_event_news_widget2.html.erb b/modules/event_news_mod/_event_news_widget2.html.erb index 4058529..d2d54b4 100644 --- a/modules/event_news_mod/_event_news_widget2.html.erb +++ b/modules/event_news_mod/_event_news_widget2.html.erb @@ -6,7 +6,7 @@
                • diff --git a/modules/event_news_mod/_event_news_widget20.html.erb b/modules/event_news_mod/_event_news_widget20.html.erb index e3313ca..e73ab53 100644 --- a/modules/event_news_mod/_event_news_widget20.html.erb +++ b/modules/event_news_mod/_event_news_widget20.html.erb @@ -6,7 +6,7 @@
                • diff --git a/modules/event_news_mod/_event_news_widget21.html.erb b/modules/event_news_mod/_event_news_widget21.html.erb index 847beef..da28a16 100644 --- a/modules/event_news_mod/_event_news_widget21.html.erb +++ b/modules/event_news_mod/_event_news_widget21.html.erb @@ -24,7 +24,7 @@
                • diff --git a/modules/event_news_mod/_event_news_widget22.html.erb b/modules/event_news_mod/_event_news_widget22.html.erb index b66f82c..ad56c0d 100644 --- a/modules/event_news_mod/_event_news_widget22.html.erb +++ b/modules/event_news_mod/_event_news_widget22.html.erb @@ -21,7 +21,7 @@
                • diff --git a/modules/event_news_mod/_event_news_widget3.html.erb b/modules/event_news_mod/_event_news_widget3.html.erb index fcb850b..a3804c7 100644 --- a/modules/event_news_mod/_event_news_widget3.html.erb +++ b/modules/event_news_mod/_event_news_widget3.html.erb @@ -24,7 +24,7 @@

                  {{subtitle}}

                  - {{img_description}} + {{img_description}}
                diff --git a/modules/event_news_mod/_event_news_widget4.html.erb b/modules/event_news_mod/_event_news_widget4.html.erb index 07ff39b..5fb1382 100644 --- a/modules/event_news_mod/_event_news_widget4.html.erb +++ b/modules/event_news_mod/_event_news_widget4.html.erb @@ -9,7 +9,7 @@
              • diff --git a/modules/event_news_mod/event_news_index5.html.erb b/modules/event_news_mod/event_news_index5.html.erb index af2bce9..a9a5d80 100644 --- a/modules/event_news_mod/event_news_index5.html.erb +++ b/modules/event_news_mod/event_news_index5.html.erb @@ -4,7 +4,7 @@
              • - + {{img_description}}
              • diff --git a/modules/event_news_mod/event_news_index7.html.erb b/modules/event_news_mod/event_news_index7.html.erb index fc35668..42ce4ae 100644 --- a/modules/event_news_mod/event_news_index7.html.erb +++ b/modules/event_news_mod/event_news_index7.html.erb @@ -4,7 +4,7 @@
              • - + {{img_description}}
                diff --git a/modules/event_news_mod/show.html.erb b/modules/event_news_mod/show.html.erb index 03499ef..a0c4bc6 100644 --- a/modules/event_news_mod/show.html.erb +++ b/modules/event_news_mod/show.html.erb @@ -37,7 +37,7 @@
                - + {{img_description}} {{img_description}}
                diff --git a/modules/event_news_mod/show2.html.erb b/modules/event_news_mod/show2.html.erb index 6d402f0..88def01 100644 --- a/modules/event_news_mod/show2.html.erb +++ b/modules/event_news_mod/show2.html.erb @@ -37,7 +37,7 @@
                - + {{img_description}} {{img_description}}
                diff --git a/modules/gallery/gallery_index1.html.erb b/modules/gallery/gallery_index1.html.erb index e7c011e..097255a 100644 --- a/modules/gallery/gallery_index1.html.erb +++ b/modules/gallery/gallery_index1.html.erb @@ -4,15 +4,16 @@

            - +
            +
            - {{alt_title}} + {{album-name}}

            - {{album-name}} + {{album-name}}

            {{album-description}}
            diff --git a/modules/gallery/gallery_index2.html.erb b/modules/gallery/gallery_index2.html.erb index 75f9c36..eae3376 100644 --- a/modules/gallery/gallery_index2.html.erb +++ b/modules/gallery/gallery_index2.html.erb @@ -5,14 +5,14 @@
            - +
            {{alt_title}}

            - {{album-name}} + {{album-name}}

            {{album-description}}
            diff --git a/modules/gallery/gallery_index3.html.erb b/modules/gallery/gallery_index3.html.erb index 9571f1a..2cb4aad 100644 --- a/modules/gallery/gallery_index3.html.erb +++ b/modules/gallery/gallery_index3.html.erb @@ -4,15 +4,15 @@

            - + diff --git a/modules/gallery/gallery_index4.html.erb b/modules/gallery/gallery_index4.html.erb index 0067a40..79dbf20 100644 --- a/modules/gallery/gallery_index4.html.erb +++ b/modules/gallery/gallery_index4.html.erb @@ -5,14 +5,14 @@
            - +
            {{alt_title}}
            diff --git a/modules/gallery/gallery_index5.html.erb b/modules/gallery/gallery_index5.html.erb index 7ac894a..fa2c16d 100644 --- a/modules/gallery/gallery_index5.html.erb +++ b/modules/gallery/gallery_index5.html.erb @@ -8,11 +8,11 @@
            - + {{alt_title}} diff --git a/modules/gallery/gallery_index6.html.erb b/modules/gallery/gallery_index6.html.erb index 9d21410..13d39a2 100644 --- a/modules/gallery/gallery_index6.html.erb +++ b/modules/gallery/gallery_index6.html.erb @@ -6,14 +6,14 @@
            diff --git a/modules/member/member_index2.html.erb b/modules/member/member_index2.html.erb index fbb8b70..73b8cd4 100644 --- a/modules/member/member_index2.html.erb +++ b/modules/member/member_index2.html.erb @@ -8,7 +8,7 @@
            diff --git a/modules/member/member_index3.html.erb b/modules/member/member_index3.html.erb index 9ce87f1..215f679 100644 --- a/modules/member/member_index3.html.erb +++ b/modules/member/member_index3.html.erb @@ -8,7 +8,7 @@
            diff --git a/modules/member/member_index5.html.erb b/modules/member/member_index5.html.erb index 9512f41..8c142c5 100644 --- a/modules/member/member_index5.html.erb +++ b/modules/member/member_index5.html.erb @@ -8,7 +8,7 @@
            diff --git a/modules/member/member_index7.html.erb b/modules/member/member_index7.html.erb index 1afd16a..81473f7 100644 --- a/modules/member/member_index7.html.erb +++ b/modules/member/member_index7.html.erb @@ -8,7 +8,7 @@
            diff --git a/modules/member/member_index8.html.erb b/modules/member/member_index8.html.erb index aec6487..b29719f 100644 --- a/modules/member/member_index8.html.erb +++ b/modules/member/member_index8.html.erb @@ -10,7 +10,7 @@
            diff --git a/modules/personal_course/index.html.erb b/modules/personal_course/index.html.erb index 83fd717..070f753 100644 --- a/modules/personal_course/index.html.erb +++ b/modules/personal_course/index.html.erb @@ -3,19 +3,23 @@ {{th_year}} - {{th_course_title}} - {{th_course_category}} + {{th_course_title}} + {{th_course_class}} + {{th_course_category}} {{th_course_semester}} {{th_authors}} + {{th_url}} {{year}} {{title}} + {{course_class}} {{category}} {{semester}} {{authors}} + {{url}} @@ -33,4 +37,4 @@ $('table.courses-index').each(function(){ }); } });; - \ No newline at end of file + diff --git a/modules/publication/show_chapter_accordion.html.erb b/modules/publication/show_chapter_accordion.html.erb index 8f5e03f..e1c29d2 100644 --- a/modules/publication/show_chapter_accordion.html.erb +++ b/modules/publication/show_chapter_accordion.html.erb @@ -7,7 +7,7 @@ {{tag}} - diff --git a/modules/publication/show_journal.html.erb b/modules/publication/show_journal.html.erb index 3bc1b1b..89ded72 100644 --- a/modules/publication/show_journal.html.erb +++ b/modules/publication/show_journal.html.erb @@ -10,7 +10,7 @@ {{tag}} - diff --git a/modules/universal_table/index3.html.erb b/modules/universal_table/index3.html.erb index a27344f..0894390 100644 --- a/modules/universal_table/index3.html.erb +++ b/modules/universal_table/index3.html.erb @@ -13,12 +13,11 @@ white-space: nowrap; } .universal-th-text{ - overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; - white-space: normal; -} + white-space: pre !important; + } .universal-dropdown-menu { padding: 15px 18px; white-space: nowrap; diff --git a/modules/web_resource/_web_res_widget1.html.erb b/modules/web_resource/_web_res_widget1.html.erb index f951e8e..3307d1c 100644 --- a/modules/web_resource/_web_res_widget1.html.erb +++ b/modules/web_resource/_web_res_widget1.html.erb @@ -6,7 +6,7 @@
          • {{title}} diff --git a/modules/web_resource/_web_res_widget10.html.erb b/modules/web_resource/_web_res_widget10.html.erb index b03fd1d..8f53a14 100644 --- a/modules/web_resource/_web_res_widget10.html.erb +++ b/modules/web_resource/_web_res_widget10.html.erb @@ -5,8 +5,8 @@
          • diff --git a/modules/web_resource/_web_res_widget9.html.erb b/modules/web_resource/_web_res_widget9.html.erb index 54e493f..6b159c1 100644 --- a/modules/web_resource/_web_res_widget9.html.erb +++ b/modules/web_resource/_web_res_widget9.html.erb @@ -7,9 +7,9 @@
            - {{title}} + {{title}} {{status}} diff --git a/modules/web_resource/web_res_index1.html.erb b/modules/web_resource/web_res_index1.html.erb index 23715b0..dc6da24 100644 --- a/modules/web_resource/web_res_index1.html.erb +++ b/modules/web_resource/web_res_index1.html.erb @@ -4,9 +4,9 @@