Commit d41c0c4b authored by chikara-chan's avatar chikara-chan Committed by 杨奕

feat: popup close button accessible with `tab` key

parent 6563a3a8
<template>
<transition name="dialog-fade">
<div class="el-dialog__wrapper" v-show="visible" @click.self="handleWrapperClick">
<div class="el-dialog__wrapper" tabindex="-1" v-show="visible" @click.self="handleWrapperClick">
<div
class="el-dialog"
:class="[sizeClass, customClass]"
......@@ -10,9 +10,10 @@
<slot name="title">
<span class="el-dialog__title">{{title}}</span>
</slot>
<div class="el-dialog__headerbtn">
<i v-if="showClose" class="el-dialog__close el-icon el-icon-close" @click='handleClose'></i>
</div>
<button type="button" class="el-dialog__headerbtn" aria-label="Close"
v-if="showClose" @click="handleClose">
<i class="el-dialog__close el-icon el-icon-close"></i>
</button>
</div>
<div class="el-dialog__body" v-if="rendered"><slot></slot></div>
<div class="el-dialog__footer" v-if="$slots.footer">
......
<template>
<transition name="msgbox-fade">
<div class="el-message-box__wrapper" v-show="visible" @click.self="handleWrapperClick">
<div class="el-message-box__wrapper" tabindex="-1" v-show="visible" @click.self="handleWrapperClick">
<div class="el-message-box" :class="customClass">
<div class="el-message-box__header" v-if="title !== undefined">
<div class="el-message-box__title">{{ title || t('el.messagebox.title') }}</div>
<i class="el-message-box__close el-icon-close" @click="handleAction('cancel')" v-if="showClose"></i>
<button type="button" class="el-message-box__headerbtn" aria-label="Close"
v-if="showClose" @click="handleAction('cancel')">
<i class="el-message-box__close el-icon-close"></i>
</button>
</div>
<div class="el-message-box__content" v-if="message !== ''">
<div class="el-message-box__status" :class="[ typeClass ]"></div>
......
......@@ -44,12 +44,22 @@
padding: 20px 20px 0;
}
@e close {
@e headerbtn {
float: right;
background: transparent;
border: none;
outline: none;
padding: 0;
cursor: pointer;
color: var(--dialog-close-color);
&:hover {
color: var(--dialog-close-hover-color);
.el-dialog__close {
color: var(--dialog-close-color);
}
&:focus, &:hover {
.el-dialog__close {
color: var(--dialog-close-hover-color);
}
}
}
......@@ -66,10 +76,6 @@
font-size: var(--dialog-font-size);
}
@e headerbtn {
float: right;
}
@e footer {
padding: 10px 20px 15px;
text-align: right;
......
......@@ -37,26 +37,33 @@
padding: 20px 20px 0;
}
@e content {
padding: 30px 20px;
color: var(--msgbox-content-color);
font-size: var(--msgbox-content-font-size);
position: relative;
}
@e close {
display: inline-block;
@e headerbtn {
position: absolute;
top: 19px;
right: 20px;
color: #999;
background: transparent;
border: none;
outline: none;
padding: 0;
cursor: pointer;
line-height: 20px;
text-align: center;
&:hover {
color: var(--color-primary);
.el-message-box__close {
color: #999;
}
&:focus, &:hover {
.el-message-box__close {
color: var(--color-primary);
}
}
}
@e content {
padding: 30px 20px;
color: var(--msgbox-content-color);
font-size: var(--msgbox-content-font-size);
position: relative;
}
@e input {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment