81fe5d6185
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>
40 lines
1.6 KiB
Handlebars
40 lines
1.6 KiB
Handlebars
{{$canAutoMerge := false}}
|
|
{{if and (gt .Issue.PullRequest.CommitsBehind 0) (not .Issue.IsClosed) (not .Issue.PullRequest.IsChecking) (not .IsPullFilesConflicted) (not .IsPullRequestBroken) (not $canAutoMerge)}}
|
|
<div class="ui divider"></div>
|
|
<div class="item item-section">
|
|
<div class="item-section-left">
|
|
<i class="icon icon-octicon">{{svg "octicon-alert"}}</i>
|
|
{{$.locale.Tr "repo.pulls.outdated_with_base_branch"}}
|
|
</div>
|
|
<div class="item-section-right">
|
|
{{if and .UpdateAllowed .UpdateByRebaseAllowed}}
|
|
<div class="gt-dib">
|
|
<div class="ui buttons update-button">
|
|
<button class="ui button" data-do="{{.Link}}/update" data-redirect="{{.Link}}">
|
|
<span class="button-text">
|
|
{{$.locale.Tr "repo.pulls.update_branch"}}
|
|
</span>
|
|
</button>
|
|
|
|
<div class="ui dropdown icon button no-text">
|
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
|
<div class="menu">
|
|
<a class="item active selected" data-do="{{.Link}}/update">{{$.locale.Tr "repo.pulls.update_branch"}}</a>
|
|
<a class="item" data-do="{{.Link}}/update?style=rebase">{{$.locale.Tr "repo.pulls.update_branch_rebase"}}</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
{{if and .UpdateAllowed (not .UpdateByRebaseAllowed)}}
|
|
<form action="{{.Link}}/update" method="post" class="ui update-branch-form">
|
|
{{.CsrfTokenHtml}}
|
|
<button class="ui compact button" data-do="update">
|
|
<span class="ui text">{{$.locale.Tr "repo.pulls.update_branch"}}</span>
|
|
</button>
|
|
</form>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|