forgejo/web_src/js
delvh 81fe5d6185
Convert <div class="button"> to <button class="button"> (#23337)
This improves a lot of accessibility shortcomings.
Every possible instance of `<div class="button">` matching the command
`ag '<[^ab].*?class=.*?[" ]button[ "]' templates/ | grep -v 'dropdown'`
has been converted when possible.
divs with the `dropdown` class and their children were omitted as
1. more analysis must be conducted whether the dropdowns still work as
intended when they are a `button` instead of a `div`.
2. most dropdowns have `div`s as children. The HTML standard disallows
`div`s inside `button`s.
3. When a dropdown child that's part of the displayed text content is
converted to a `button`, the dropdown can be focused twice

Further changes include that all "gitea-managed" buttons with JS code
received an `e.preventDefault()` so that they don't accidentally submit
an underlying form, which would execute instead of cancel the action.
Lastly, some minor issues were fixed as well during the refactoring.

## Future improvements

As mentioned in
https://github.com/go-gitea/gitea/pull/23337#discussion_r1127277391,
`<a>`s without `href` attribute are not focusable.
They should later on be converted to `<button>`s.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2023-03-14 11:34:09 +08:00
..
components Fix actions frontend bugs (pagination, long name alignment) and small simplify (#23370) 2023-03-13 13:31:06 +08:00
features Convert <div class="button"> to <button class="button"> (#23337) 2023-03-14 11:34:09 +08:00
markup update to mermaid v10 (#23178) 2023-03-04 00:39:07 -05:00
modules Add Mermaid copy button, avoid unnecessary tooltip hide (#22225) 2022-12-25 18:17:48 +01: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 Fix the show/hide methods for string selector (#23042) 2023-02-21 11:09:03 -06: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 Hide target selector if tag exists when creating new release (#23171) 2023-03-10 10:42:38 -06: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 Fix adding of empty class name (#23352) 2023-03-07 23:08:22 +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