summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2018-12-03 12:39:02 +0100
committerJulius Härtl <jus@bitgrid.net>2018-12-03 12:39:02 +0100
commit867049d0562940feb1085d31fba223d0d63e7f03 (patch)
tree5d7bc0ca6376d822db3109d9c75bdfc328b3b590 /src
parentbcc71722756fec3258786be8399965c65fa8e37a (diff)
Fix keyboard focus of emoji picker
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'src')
-rw-r--r--src/components/Composer.vue21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/components/Composer.vue b/src/components/Composer.vue
index f179516d..f778e3d9 100644
--- a/src/components/Composer.vue
+++ b/src/components/Composer.vue
@@ -36,8 +36,9 @@
placeholder="Share a thought…" @keyup.enter="keyup" />
</vue-tribute>
<emoji-picker :search="search" class="emoji-picker-wrapper" @emoji="insert">
- <div v-tooltip="'Insert emoji'" slot="emoji-invoker" slot-scope="{ events }"
- class="emoji-invoker" v-on="events" />
+ <a v-tooltip="'Insert emoji'" slot="emoji-invoker" slot-scope="{ events }"
+ class="emoji-invoker" tabindex="0" v-on="events"
+ @keyup.enter="events.click" @keyup.space="events.click" />
<div slot="emoji-picker" slot-scope="{ emojis, insert, display }" class="emoji-picker popovermenu">
<div>
<div>
@@ -48,7 +49,9 @@
<h5>{{ category }}</h5>
<div>
<span v-for="(emoji, emojiName) in emojiGroup" :key="emojiName" :title="emojiName"
- class="emoji" @click="insert(emoji)" v-html="$twemoji.parse(emoji)" />
+ tabindex="0"
+ class="emoji" @click="insert(emoji)" @keyup.enter="insert(emoji)"
+ @keyup.space="insert(emoji)" v-html="$twemoji.parse(emoji)" />
</div>
</div>
</div>
@@ -142,6 +145,11 @@
background-size: 16px 16px;
height: 38px;
cursor: pointer;
+ display: block;
+ }
+ .emoji-invoker:focus,
+ .emoji-invoker:hover {
+ opacity: 1;
}
.emoji-picker-wrapper {
position: absolute;
@@ -163,8 +171,13 @@
.emoji-picker input {
width: 100%;
}
+ .emoji-picker span.emoji {
+ padding: 3px;
+ }
+ .emoji-picker span.emoji:focus {
+ background-color: var(--color-background-dark);
+ }
.emoji-picker .emoji img {
- margin: 3px;
width: 16px;
}
.popovermenu {