|
|
@@ -18,11 +18,11 @@
|
|
|
<view class="sandbox-star" v-if="!isPreview" :style="{height: starHeight}">
|
|
|
<view class="star-glow-bg"></view>
|
|
|
|
|
|
- <!-- Canvas 2D 五行星图 -->
|
|
|
- <canvas id="starCanvas" type="2d" style="width:100%;height:100%;position:absolute;top:0;left:0;z-index:1"></canvas>
|
|
|
+ <!-- Canvas 2D 五行星图(绘制五边形+五维能量,读屏以 aria-label 替代非文本图形,修复 WCAG 1.1.1) -->
|
|
|
+ <canvas id="starCanvas" type="2d" role="img" :aria-label="starAriaLabel" style="width:100%;height:100%;position:absolute;top:0;left:0;z-index:1"></canvas>
|
|
|
|
|
|
- <!-- Canvas 粒子动画覆盖层 -->
|
|
|
- <canvas id="flowCanvas" type="2d" style="width:100%;height:100%;position:absolute;top:0;left:0;z-index:1;pointer-events:none"></canvas>
|
|
|
+ <!-- Canvas 粒子动画覆盖层(纯装饰,读屏忽略) -->
|
|
|
+ <canvas id="flowCanvas" type="2d" aria-hidden="true" style="width:100%;height:100%;position:absolute;top:0;left:0;z-index:1;pointer-events:none"></canvas>
|
|
|
|
|
|
<!-- Canvas 点击感应层 -->
|
|
|
<view class="canvas-tap-area" @click="onCanvasTap"></view>
|
|
|
@@ -437,6 +437,16 @@ export default {
|
|
|
return all
|
|
|
// all = [心->顶, 身->右, 智->右下, 富->左下, 行->左]
|
|
|
},
|
|
|
+ /** 星图读屏文本替代(修复 WCAG 1.1.1:canvas 无文本替代);preview 模式不画星图,返回空串 */
|
|
|
+ starAriaLabel: function() {
|
|
|
+ if (this.isPreview) return ''
|
|
|
+ var dims = this.sortedDimensions || []
|
|
|
+ var parts = dims.map(function(d) {
|
|
|
+ return (d.name || '') + ' ' + (d.energy || 0)
|
|
|
+ })
|
|
|
+ var overall = this.overallScore || 0
|
|
|
+ return '五维能量星图:' + parts.join('、') + ',综合 ' + overall
|
|
|
+ },
|
|
|
/** 底部线性维度条(规格 §4.2):身 -> 智 -> 富 -> 行 -> 心 */
|
|
|
linearDimensions: function() {
|
|
|
var out = []
|