fix: fix autocomplete in voiceover+safari (#1632)
* fix: fix autocomplete in voiceover+safari fixes #1629 * fix test * fix test
This commit is contained in:
parent
07facea505
commit
63c9f8dc32
|
@ -8,9 +8,11 @@
|
||||||
class="compose-autosuggest-list-item {i === selected ? 'selected' : ''}"
|
class="compose-autosuggest-list-item {i === selected ? 'selected' : ''}"
|
||||||
role="option"
|
role="option"
|
||||||
aria-selected="{i === selected}"
|
aria-selected="{i === selected}"
|
||||||
aria-label="{ariaLabels[i]}"
|
|
||||||
on:click="onClick(event, item)"
|
on:click="onClick(event, item)"
|
||||||
>
|
>
|
||||||
|
<!-- aria-label would be simpler than an sr-only element, but that breaks VoiceOver+Safari
|
||||||
|
https://github.com/nolanlawson/pinafore/issues/1629 -->
|
||||||
|
<span class="sr-only">{ariaLabels[i]}</span>
|
||||||
<div class="compose-autosuggest-list-grid" aria-hidden="true">
|
<div class="compose-autosuggest-list-grid" aria-hidden="true">
|
||||||
{#if type === 'account'}
|
{#if type === 'account'}
|
||||||
<div class="compose-autosuggest-list-item-avatar">
|
<div class="compose-autosuggest-list-item-avatar">
|
||||||
|
|
|
@ -22,7 +22,7 @@ test('autosuggests user handles', async t => {
|
||||||
await sleep(1000)
|
await sleep(1000)
|
||||||
await t
|
await t
|
||||||
.typeText(composeInput, 'hey @qu')
|
.typeText(composeInput, 'hey @qu')
|
||||||
.expect(getNthAutosuggestionResult(1).getAttribute('aria-label')).contains('@quux')
|
.expect(getNthAutosuggestionResult(1).find('.sr-only').innerText).contains('@quux')
|
||||||
.click(getNthAutosuggestionResult(1), { timeout })
|
.click(getNthAutosuggestionResult(1), { timeout })
|
||||||
.expect(composeInput.value).eql('hey @quux ')
|
.expect(composeInput.value).eql('hey @quux ')
|
||||||
.typeText(composeInput, 'and also @adm')
|
.typeText(composeInput, 'and also @adm')
|
||||||
|
@ -46,7 +46,7 @@ test('autosuggests custom emoji', async t => {
|
||||||
.click(getNthAutosuggestionResult(1))
|
.click(getNthAutosuggestionResult(1))
|
||||||
.expect(composeInput.value).eql(':blobnom: ')
|
.expect(composeInput.value).eql(':blobnom: ')
|
||||||
.typeText(composeInput, 'and :blob')
|
.typeText(composeInput, 'and :blob')
|
||||||
.expect(getNthAutosuggestionResult(1).getAttribute('aria-label')).contains('blobnom')
|
.expect(getNthAutosuggestionResult(1).find('.sr-only').innerText).contains('blobnom')
|
||||||
.expect(getNthAutosuggestionResult(1).innerText).contains(':blobnom:', { timeout })
|
.expect(getNthAutosuggestionResult(1).innerText).contains(':blobnom:', { timeout })
|
||||||
.expect(getNthAutosuggestionResult(2).innerText).contains(':blobpats:')
|
.expect(getNthAutosuggestionResult(2).innerText).contains(':blobpats:')
|
||||||
.expect(getNthAutosuggestionResult(3).innerText).contains(':blobpeek:')
|
.expect(getNthAutosuggestionResult(3).innerText).contains(':blobpeek:')
|
||||||
|
|
|
@ -20,8 +20,8 @@ test('autosuggests hashtags', async t => {
|
||||||
.typeText(composeInput, 'hey #bl')
|
.typeText(composeInput, 'hey #bl')
|
||||||
.expect(getNthAutosuggestionResult(1).innerText).contains('blank', { timeout })
|
.expect(getNthAutosuggestionResult(1).innerText).contains('blank', { timeout })
|
||||||
.expect(getNthAutosuggestionResult(2).innerText).contains('blanka', { timeout })
|
.expect(getNthAutosuggestionResult(2).innerText).contains('blanka', { timeout })
|
||||||
.expect(getNthAutosuggestionResult(1).getAttribute('aria-label')).contains('#blank', { timeout })
|
.expect(getNthAutosuggestionResult(1).find('.sr-only').innerText).contains('#blank', { timeout })
|
||||||
.expect(getNthAutosuggestionResult(2).getAttribute('aria-label')).contains('#blanka', { timeout })
|
.expect(getNthAutosuggestionResult(2).find('.sr-only').innerText).contains('#blanka', { timeout })
|
||||||
.click(getNthAutosuggestionResult(1), { timeout })
|
.click(getNthAutosuggestionResult(1), { timeout })
|
||||||
.expect(composeInput.value).eql('hey #blank ')
|
.expect(composeInput.value).eql('hey #blank ')
|
||||||
.typeText(composeInput, 'and also #BL')
|
.typeText(composeInput, 'and also #BL')
|
||||||
|
|
Loading…
Reference in New Issue