|
@@ -1,26 +1,55 @@
|
|
|
<template>
|
|
|
- <div class="CollectionsInfo">
|
|
|
+ <div class="CollectionsInfo" tabindex="0">
|
|
|
<div class="pic">
|
|
|
- <h3 v-html="infoObj.h3"></h3>
|
|
|
- <div class="mark" ref="markBox" @click="lookBig">
|
|
|
- <img :src="`/data/Collections/${infoObj.url}/big${infoObj.id}.png`" alt="" />
|
|
|
+ <h3 v-html="infoObj.h3" tabindex="0"
|
|
|
+ :aria-description="infoObj.h3.replace(/(<([^>]+)>)/ig, '')"
|
|
|
+ ></h3>
|
|
|
+ <div class="mark" ref="markBox" @click="lookBig"
|
|
|
+ @keydown.enter.passive="lookBig"
|
|
|
+ >
|
|
|
+ <img :src="`/data/Collections/${infoObj.url}/big${infoObj.id}.png`"
|
|
|
+ :alt="infoObj.h3.replace(/(<([^>]+)>)/ig, '')"
|
|
|
+ tabindex="0"
|
|
|
+ aria-label="Image"
|
|
|
+ :aria-description="infoObj.h3.replace(/(<([^>]+)>)/ig, '')"
|
|
|
+ />
|
|
|
<span :style="{ opacity: num, left: numLeft, top: numTop }"></span>
|
|
|
</div>
|
|
|
<!-- 看大图 -->
|
|
|
- <div class="look" @click="lookBig">Enlarge</div>
|
|
|
+ <div class="look" @click="lookBig" @keydown.enter.passive="lookBig"
|
|
|
+ tabindex="0" aria-label="Button"
|
|
|
+ >
|
|
|
+ Enlarge
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<!-- 文本 -->
|
|
|
- <div class="txt" v-html="infoObj.info"></div>
|
|
|
+ <div class="txt" v-html="infoObj.info"
|
|
|
+ tabindex="0"
|
|
|
+ :aria-description="infoObj.info.replace(/(<([^>]+)>)/ig, '')"
|
|
|
+ ></div>
|
|
|
<!-- 关闭按钮 -->
|
|
|
- <div class="cls" @click="closeInfo"> </div>
|
|
|
+ <div class="cls" @click="closeInfo" @keydown.enter.passive="closeInfo"
|
|
|
+ tabindex="0"
|
|
|
+ aria-label="Button"
|
|
|
+ aria-description="Close"
|
|
|
+ >
|
|
|
+
|
|
|
+ </div>
|
|
|
<!-- 看大图的遮造盒子 -->
|
|
|
- <div class="cover" v-show="bigShow" @click="bigimgHide">
|
|
|
+ <div ref="cover" class="cover" v-show="bigShow" tabindex="0"
|
|
|
+ @click="bigimgHide" @keydown.enter.passive="bigimgHide"
|
|
|
+ >
|
|
|
<div
|
|
|
class="lookBox"
|
|
|
ref="lookBox"
|
|
|
title="Click here to return to the previous page"
|
|
|
>
|
|
|
- <img :src="`/data/Collections/${infoObj.url}/big${infoObj.id}.png`" alt="" />
|
|
|
+ <img :src="`/data/Collections/${infoObj.url}/big${infoObj.id}.png`"
|
|
|
+ alt=""
|
|
|
+ tabindex="0"
|
|
|
+ aria-label="Big image"
|
|
|
+ :aria-description="infoObj.h3.replace(/(<([^>]+)>)/ig, '')"
|
|
|
+ />
|
|
|
<span
|
|
|
:style="{ opacity: num, left: bigNumLeft, top: bigNumTop }"
|
|
|
></span>
|
|
@@ -75,6 +104,7 @@ export default {
|
|
|
lookBig() {
|
|
|
this.bigShow = true;
|
|
|
this.$nextTick(() => {
|
|
|
+ this.$refs.cover.focus()
|
|
|
setTimeout(() => {
|
|
|
// -----------------大图的logo随机
|
|
|
let bDom = this.$refs.lookBox;
|
|
@@ -93,12 +123,14 @@ export default {
|
|
|
bigimgHide() {
|
|
|
this.bigShow = false;
|
|
|
clearInterval(this.timeIdBig);
|
|
|
+ this.$el.focus()
|
|
|
},
|
|
|
},
|
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
|
created() {},
|
|
|
//生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
mounted() {
|
|
|
+ this.$el.focus()
|
|
|
// 获取图片盒子的宽高
|
|
|
this.$nextTick(() => {
|
|
|
setTimeout(() => {
|
|
@@ -135,7 +167,7 @@ export default {
|
|
|
</script>
|
|
|
<style lang='less' scoped>
|
|
|
.CollectionsInfo {
|
|
|
- z-index: 991;
|
|
|
+ z-index: 4;
|
|
|
position: fixed;
|
|
|
top: 0;
|
|
|
left: 0;
|