This commit is contained in:
ken 2026-08-19 19:57:41 +08:00
parent d229b1ef36
commit d35f13caff
26 changed files with 121 additions and 75 deletions

View File

@ -933,7 +933,7 @@ $(function(){
$(this).append('<span class="sr-only">網路資源標題</span>');
}
});
$('input').each(function() {
$('input.input-search, .search-container input, .search-box input, #search input').each(function() {
var $this = $(this);
if (!$this.attr('title') || $this.attr('title').trim() === '') {
$this.attr('title', '網內搜尋');
@ -2149,6 +2149,50 @@ $(function() {
// 預設 aria-expanded 為 false
$(".searchbtn2").attr("aria-expanded", "false");
});
// ✅ searchbtn2 Tab 鍵聚焦時自動展開 .searchbox
$(document).ready(function() {
function fixSearchbtn2FocusA11y() {
setTimeout(function() {
$('.searchbtn2').on('focus', function() {
var $searchbox = $('.searchbox');
// ✅ 只在收合狀態時才展開,不影響已展開的狀態
if (!$searchbox.is(':visible')) {
$searchbox.slideDown(300, function() {
// ✅ 同步更新 aria-expanded與原本 click 邏輯一致)
$('.searchbtn2').attr('aria-expanded', 'true');
// ✅ 同步加上 ken-click2與原本 click 邏輯一致)
$('.searchbtn2').closest('.ken-click').addClass('ken-click2');
});
}
});
}, 500);
}
fixSearchbtn2FocusA11y();
});
// ✅ searchbtn2 Tab 鍵聚焦時自動展開 .searchbox
$(document).ready(function() {
function fixSearchbtn2FocusA11y() {
setTimeout(function() {
$('.searchbtn2').on('focus', function() {
var $searchbox = $('.searchbox');
// ✅ 只在收合狀態時才展開,不影響已展開的狀態
if (!$searchbox.is(':visible')) {
$searchbox.slideDown(300, function() {
// ✅ 同步更新 aria-expanded與原本 click 邏輯一致)
$('.searchbtn2').attr('aria-expanded', 'true');
// ✅ 同步加上 ken-click2與原本 click 邏輯一致)
$('.searchbtn2').closest('.ken-click').addClass('ken-click2');
});
}
});
}, 500);
}
fixSearchbtn2FocusA11y();
});
// 強制保持全站search展開
$(document).ready(function () {
@ -3260,7 +3304,7 @@ function fixSortLinkA11y() {
});
}
function fixSearchInputA11y() {
$('input[type="search"], input[type="text"]').each(function () {
$('input[type="search"], input.input-search, .search-container input, .search-box input').each(function () {
var $input = $(this);
// 已有對應 label 就跳過

View File

@ -16,10 +16,10 @@ $theme-red: #d20001;
$theme-blue: #003d7e;
$theme-color-main: #333333;
$theme-color-second:#8d50f7;
$theme-color-second:#7b3ee5;
$theme-color-third: #123fd3;
$theme-color-green: #123fd3;
$theme-color-hover:#8d50f7;
$theme-color-hover:#7b3ee5;
// Font stacks
$main-font: "Noto Sans TC", sans-serif;

View File

@ -251,6 +251,10 @@ a.w-annc__more.btn.btn-primary.pull-right{
// Widget-2
.widget-announcement-2 {
.widget-title-a-inner{
display: block;
padding: 0.2em;
}
// @media(min-width: 768px){
// .col-sm-4{
// width: 33.33333333%;

View File

@ -507,7 +507,7 @@
.index-context {
display: inline-block;
// margin: 0 0 0.625em 2em;
color: darken($theme-gray-light, 20%);
color: #707070;
}
}

View File

@ -32,13 +32,16 @@
<div class="w-ad-banner__pager-1 w-ba-banner__caption banner-pager banner_caption_{{subpart-id}}" data-list="images" data-level="0">
<li><button title="Slide {{slide_number}}" aria-label="Pager"><span style="display: none;">Slide {{slide_number}}</span></button></li>
</div>
<ul class="controlplay">
<a href="javascript:;" class="resume-slide active" title="<%= I18n.t("ad_banner.resume") %>" aria-label="<%= I18n.t("ad_banner.resume") %>">
<i aria-hidden="true" aria-label="<%= I18n.t("ad_banner.resume") %>"></i>
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p></a>
<a href="javascript:;" class="pause-slide" title="<%= I18n.t("ad_banner.pause") %>" aria-label="<%= I18n.t("ad_banner.pause") %>">
<i aria-hidden="true" aria-label="<%= I18n.t("ad_banner.pause") %>"></i>
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p></a>
<ul class="controlplay" role="radiogroup" aria-label="播放控制選項">
<a role="radio" aria-checked="true" href="javascript:;" class="resume-slide active" title="繼續播放" aria-label="繼續播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.resume") %></p>
</a>
<a role="radio" aria-checked="false" href="javascript:;" class="pause-slide" title="暫停播放" aria-label="暫停播放" aria-live="assertive">
<i aria-hidden="true"></i>
<p style="display: none;"><%= I18n.t("ad_banner.pause") %></p>
</a>
</ul>
<ul class="button-mid">
<i class="fa fa-angle-left prev-button" aria-label="<%= I18n.t("ad_banner.prev") %>"></i>

View File

@ -5,25 +5,27 @@
<ul class="w-annc__list" data-level="0" data-list="announcements">
<li class="w-annc__item">
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}" class="widget-title-a">
<div class="w-annc__img-wrap col-sm-4">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<div class="w-annc__content-wrap col-sm-8">
<div class="w-annc__meta">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
</span>
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<span class="w-annc__category-wrap">
<span class="w-annc__category">{{category}}</span>
</span>
</div>
<h4 class="w-annc__entry-title">
<span class="w-annc__title">{{title}}</span>
</h4>
<p class="w-annc__subtitle">{{subtitle}}</p>
<div class="widget-title-a-inner">
<div class="w-annc__img-wrap col-sm-4">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
</div>
<div class="w-annc__content-wrap col-sm-8">
<div class="w-annc__meta">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label status {{status-class}}">{{status}}</span>
</span>
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<span class="w-annc__category-wrap">
<span class="w-annc__category">{{category}}</span>
</span>
</div>
<h4 class="w-annc__entry-title">
<span class="w-annc__title">{{title}}</span>
</h4>
<p class="w-annc__subtitle">{{subtitle}}</p>
</div>
</div>
</a>
</li>

View File

@ -26,8 +26,7 @@
</div>
<div class="i-archive-files-list col-sm-12" data-list="files" data-level="2">
<dd>
<a href="{{file-url}}" class="i-archive-files-item" target="{{target}}" title="{{file-name}}">{{file-name}}</a>
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</div>
</div>

View File

@ -17,8 +17,7 @@
<dl class="i-archive__file-list" data-list="files" data-level="2">
<dd class="i-archive__file-wrap">
<i class="fa-solid fa-file"></i>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}</a>
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</dl>
</div>

View File

@ -26,8 +26,7 @@
</div>
<div class="i-archive-files-list col-sm-9" data-list="files" data-level="2">
<dd>
<a href="{{file-url}}" class="i-archive-files-item" target="{{target}}" title="{{file-name}}">{{file-name}}</a>
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</div>
</div>

View File

@ -15,8 +15,7 @@
</dt>
<dl class="i-archive__file-list" data-list="files" data-level="2">
<dd class="i-archive__file-wrap">
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}</a>
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</dl>
</div>

View File

@ -23,8 +23,7 @@
</span>
<span class="description" style="clear: both;widivh: 100%;position: relative;display: block;">{{description}}</span>
<dd>
<a href="{{file-url}}" class="i-archive-files-item" target="{{target}}" title="{{file-name}}">{{file-name}}</a>
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</div>
</div>

View File

@ -18,8 +18,7 @@
<dl class="i-archive__file-list" data-list="files" data-level="2">
<dd class="i-archive__file-wrap">
<i class="fa-solid fa-file"></i>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}</a>
<a href="{{file-url}}" class="i-archive-files-item" target="_blank" data-bs-toggle="tooltip" data-placement="bottom" title="{{file-name}}"><span class="label label-primary">{{file-type}}</span></a>
<a class="i-archive__file-name" href="{{file-url}}" target="{{target}}" title="{{file-name}}">{{file-name}}<span class="label label-primary">{{file-type}}</span></a>
</dd>
</dl>
</div>

View File

@ -7,7 +7,7 @@
}
</style>
<article class="s-annc show-announcement">
<h1 class="s-annc__show-title">{{title}}</h1>
<h3 class="s-annc__show-title">{{title}}</h3>
<ul class="s-annc__meta-wrap list-unstyled no-print">
<li class="s-annc__date-wrap s-annc__meta--item">

View File

@ -9,7 +9,7 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">

View File

@ -8,7 +8,7 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -27,7 +27,7 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -8,7 +8,7 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -17,7 +17,7 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -52,7 +52,7 @@
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -2,26 +2,25 @@
<h3 class="widget-title"><span>{{widget-title}}</span></h3>
<ul class="video_data_wrap row" data-list="videos" data-level="0">
<li class="video_data col-xs-12 col-sm-4" data-video-url="{{video_url}}" data-video-webm-url="{{video_webm_url}}" data-type="{{video_type}}">
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper10">
<div class="videohover">
<div class="view_info">
<span>{{view_count}}</span>
</div>
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
<a href="{{video_show_url}}" title="{{video_title}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
</a>
<div class="video_info">
<div class="video_length">{{video_duration}}</div>
<div data-list="video_tags" data-level="1" class="video_tag"><div class="video_tags2">{{video_tag}}</div></div>
<div class="video_keyword">{{video_keyword}}</div>
<div class="video_group_time">{{video_postdate}}</div>
<div class="video_title"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}"><h4>{{video_title}}</h4></a></div>
<div class="video_desc"><a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">{{video_desc}}</a></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>
</div>
<div class="video_info">
<div class="video_length">{{video_duration}}</div>
<div data-list="video_tags" data-level="1" class="video_tag"><div class="video_tags2">{{video_tag}}</div></div>
<div class="video_keyword">{{video_keyword}}</div>
<div class="video_group_time">{{video_postdate}}</div>
<div class="video_title"><div class="video_link"><h4>{{video_title}}</h4></div></div>
<div class="video_desc"><div class="video_link">{{video_desc}}</div></div>
</div>
</a>
</li>
</ul>

View File

@ -5,7 +5,7 @@
<a class=" video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper3 col-sm-4">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -26,7 +26,7 @@
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -26,7 +26,7 @@
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -18,7 +18,7 @@
<a class="video_link" href="javascript:void(0)" title="{{video_title_escape}}" data-api-url="{{api_url}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -5,7 +5,7 @@
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>

View File

@ -14,7 +14,7 @@
<a class="video_link" href="{{video_show_url}}" title="{{video_title_escape}}">
<div class="video_linkwrapper">
<div class="videohover">
<div class="Video__Player"><button class="Video__PlayerButton"></button></div>
<div class="Video__Player"><div class="Video__PlayerButton"></div></div>
<div class="videoduration"></div>
</div>
<img class="video_snapshot" src="{{snapshot_url}}"/>