forgejo/web_src/js
wxiaoguang 345aa09756
Fix aria.js bugs: incorrect role element problem, mobile focus problem, tippy problem (#23450)
This PR is extracted from #23346 to address some unclear (I don't
understand) code-belonging concerns.

This PR needs to be backported, otherwise the `aria.js` is too buggy in
some cases. Since there would be two minor conflicts, I will do the
backport manually.

Before: the `aria.js` is still buggy in some cases.

After: tested with AppleVoice, Android TalkBack

* Fix incorrect dropdown init code
* Fix incorrect role element (the menu role should be on the `$menu`
element, but not on the `$focusable`)
* Fix the focus-show-click-hide problem on mobile. Now the language menu
works as expected
* Fix incorrect dropdown template function setting
* Clarify the logic in aria.js
* Hide item's tippy after menu gets hidden
* Fix incorrect tippy `setProps` after `destroy`
* Fix UI lag problem when page gets redirected during menu hiding
animation with screen reader
* Improve comments
* Implement the layout proposed by #19861

<details>


d74a7efb60/web_src/js/features/aria.md (L38-L47)

</details>
2023-03-17 11:08:05 +08:00
..
components Replace Less with CSS (#23481) 2023-03-14 22:20:19 -04:00
features Fix aria.js bugs: incorrect role element problem, mobile focus problem, tippy problem (#23450) 2023-03-17 11:08:05 +08:00
markup update to mermaid v10 (#23178) 2023-03-04 00:39:07 -05:00
modules Fix aria.js bugs: incorrect role element problem, mobile focus problem, tippy problem (#23450) 2023-03-17 11:08:05 +08:00
standalone Add new JS linter rules (#17699) 2021-11-22 16:19:01 +08:00
test Use link in UI which returned a relative url but not html_url which contains an absolute url (#21986) 2023-02-06 12:09:18 -06:00
utils Refactor branch/tag selector to Vue SFC (#23421) 2023-03-14 17:51:20 +08:00
webcomponents Add document for webcomponents (#23261) 2023-03-03 17:45:19 +08:00
bootstrap.js Quick fixes monaco-editor error: "vs.editor.nullLanguage" (#21734) 2022-11-09 18:02:19 +08:00
index.js Refactor dashboard repo list to Vue SFC (#23405) 2023-03-14 12:09:06 +08:00
jquery.js Upgrade jQuery to 3.5.0, remove jQuery-Migrate, fix deprecations (#11055) 2020-04-18 18:46:29 -04:00
serviceworker.js Fix serviceworker output file and misc improvements (#11562) 2020-05-24 08:36:40 +01:00
svg.js Refactor branch/tag selector to Vue SFC (#23421) 2023-03-14 17:51:20 +08:00
svg.test.js Remove vitest globals (#21505) 2022-10-19 14:50:19 +08:00
utils.js Scoped labels (#22585) 2023-02-18 21:17:39 +02:00
utils.test.js Fix links for the menus in the view file page (#22795) 2023-02-08 00:08:44 +08:00