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>
72 lines
2.8 KiB
Handlebars
72 lines
2.8 KiB
Handlebars
{{template "base/head" .}}
|
|
<div role="main" aria-label="{{.Title}}" class="page-content repository settings lfs">
|
|
{{template "repo/header" .}}
|
|
{{template "repo/settings/navbar" .}}
|
|
<div class="ui container">
|
|
{{template "base/alert" .}}
|
|
<h4 class="ui top attached header">
|
|
{{.locale.Tr "repo.settings.lfs_pointers.found" .NumPointers .NumAssociated .NumNotAssociated .NumNoExist}}
|
|
{{if gt .NumAssociatable 0}}
|
|
<div class="ui right">
|
|
<form class="ui form" method="post" action="{{$.Link}}/associate">
|
|
{{.CsrfTokenHtml}}
|
|
{{range .Pointers}}
|
|
{{if .Associatable}}
|
|
<input type="hidden" name="oid" value="{{.Oid}} {{.Size}}"/>
|
|
{{end}}
|
|
{{end}}
|
|
<button class="ui green button">{{$.locale.Tr "repo.settings.lfs_pointers.associateAccessible" $.NumAssociatable}}</button>
|
|
</form>
|
|
</div>
|
|
{{end}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<table id="lfs-files-table" class="ui fixed single line table">
|
|
<thead>
|
|
<tr>
|
|
<th class="three wide">{{.locale.Tr "repo.settings.lfs_pointers.sha"}}</th>
|
|
<th class="four wide">{{.locale.Tr "repo.settings.lfs_pointers.oid"}}</th>
|
|
<th class="three wide"></th>
|
|
<th class="two wide">{{.locale.Tr "repo.settings.lfs_pointers.inRepo"}}</th>
|
|
<th class="two wide">{{.locale.Tr "repo.settings.lfs_pointers.exists"}}</th>
|
|
<th class="two wide">{{.locale.Tr "repo.settings.lfs_pointers.accessible"}}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range .Pointers}}
|
|
<tr>
|
|
<td>
|
|
<span class="text sha label" title="{{.SHA}}">
|
|
<a href="{{$.RepoLink}}/raw/blob/{{.SHA}}" rel="nofollow" target="_blank" class="ui detail icon button truncate">
|
|
{{ShortSha .SHA}}
|
|
</a>
|
|
</span>
|
|
</td>
|
|
<td>
|
|
<span class="text sha label" title="{{.Oid}}">
|
|
{{if and .Exists .InRepo}}
|
|
<a href="{{$.LFSFilesLink}}/show/{{.Oid}}" rel="nofollow" target="_blank" class="ui text detail icon button brown truncate">
|
|
{{ShortSha .Oid}}
|
|
</a>
|
|
{{else}}
|
|
<button class="ui detail icon button brown disabled truncate">
|
|
{{ShortSha .Oid}}
|
|
</button>
|
|
{{end}}
|
|
</span>
|
|
</td>
|
|
<td>
|
|
<a class="ui primary show-panel button" href="{{$.LFSFilesLink}}/find?oid={{.Oid}}&size={{.Size}}&sha={{.SHA}}">{{$.locale.Tr "repo.settings.lfs_findcommits"}}</a>
|
|
</td>
|
|
<td>{{if .InRepo}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td>
|
|
<td>{{if .Exists}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td>
|
|
<td>{{if .Accessible}}{{svg "octicon-check"}}{{else}}{{svg "octicon-x"}}{{end}}</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|