You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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?plain=1#L38-L47

</details>
1 year ago
..
actions Add workflow error notification in ui (#23404) 1 year ago
branch Make branches list page operations remember current page (#23420) 1 year ago
cite Convert `<div class="button">` to `<button class="button">` (#23337) 1 year ago
diff Fix review comment context menu clipped bug (#23523) 1 year ago
editor Convert `<div class="button">` to `<button class="button">` (#23337) 1 year ago
find Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 1 year ago
graph Add context cache as a request level cache (#22294) 1 year ago
issue Fix aria.js bugs: incorrect role element problem, mobile focus problem, tippy problem (#23450) 1 year ago
migrate Convert `<div class="button">` to `<button class="button">` (#23337) 1 year ago
projects Convert `<div class="button">` to `<button class="button">` (#23337) 1 year ago
pulls Always go full width in PR view (#22844) 1 year ago
release Convert `<div class="button">` to `<button class="button">` (#23337) 1 year ago
settings Allow both fullname and username search when `DEFAULT_SHOW_FULL_NAME` is true (#23463) 1 year ago
wiki Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 1 year ago
activity.tmpl Add context when rendering labels or emojis (#23281) 1 year ago
blame.tmpl Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 1 year ago
branch_dropdown.tmpl Refactor branch/tag selector to Vue SFC (#23421) 1 year ago
clone_buttons.tmpl Move helpers to be prefixed with `gt-` (#22879) 1 year ago
clone_script.tmpl Make clone URL use current page's host (#22808) 1 year ago
commit_page.tmpl Convert `<div class="button">` to `<button class="button">` (#23337) 1 year ago
commit_status.tmpl Fix missing commit status in PR which from forked repo (#23351) 1 year ago
commit_statuses.tmpl Fix hidden commit status on multiple checks (#22889) 1 year ago
commits.tmpl Move helpers to be prefixed with `gt-` (#22879) 1 year ago
commits_list.tmpl Add context when rendering labels or emojis (#23281) 1 year ago
commits_list_small.tmpl Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 1 year ago
commits_table.tmpl Move helpers to be prefixed with `gt-` (#22879) 1 year ago
create.tmpl Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 1 year ago
create_helper.tmpl Add templates to customize text when creating and migrating repositories 1 year ago
empty.tmpl Add main landmark to templates and adjust titles (#22670) 1 year ago
file_info.tmpl Move helpers to be prefixed with `gt-` (#22879) 1 year ago
forks.tmpl Add context cache as a request level cache (#22294) 1 year ago
graph.tmpl Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 1 year ago
header.tmpl Move helpers to be prefixed with `gt-` (#22879) 1 year ago
home.tmpl Fix and move "Use this template" button (#23398) 1 year ago
icon.tmpl Move helpers to be prefixed with `gt-` (#22879) 1 year ago
packages.tmpl Add main landmark to templates and adjust titles (#22670) 1 year ago
search.tmpl Fix 'View File' button in code search (#23478) 1 year ago
search_name.tmpl Allow both fullname and username search when `DEFAULT_SHOW_FULL_NAME` is true (#23463) 1 year ago
shabox_badge.tmpl Fix shabox regression (#22924) 1 year ago
sub_menu.tmpl Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 1 year ago
unicode_escape_prompt.tmpl Convert `<div class="button">` to `<button class="button">` (#23337) 1 year ago
upload.tmpl Refactor `i18n` to `locale` (#20153) 2 years ago
user_cards.tmpl Add context cache as a request level cache (#22294) 1 year ago
view_file.tmpl Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950) 1 year ago
view_list.tmpl Add wrapper to author to avoid long name ui problem (#23030) 1 year ago
watchers.tmpl Add main landmark to templates and adjust titles (#22670) 1 year ago