d5e197e6ea
Ine464e69
I removed href='#' but I noticed that it broke some things. Readding href serves two purposes: - it makes links reachable with Tab key - it makes links clickable with Enter key The alternative to this approach was to introduce [tabindex] and [role] attributes. But not only using tabindex=0 with <a/> is questionable, it'd require adding a keyboard handler that'd intercept space and return key presses and simulated link clicks. Since it's best to leave this kind of thing to the native UI, I went with readding hrefs instead. I believe that hash hrefs, even though being a common practice, are silly, so I decided to settle down with empty hrefs. As a bonus, I added a snippet that prevents middle mouse clicks from opening such links/buttons in new tabs, which was the motivation fore464e69
.
40 lines
1,017 B
Smarty
40 lines
1,017 B
Smarty
<li class='uploadable'>
|
|
<a href class='remove'>
|
|
<i class='fa fa-remove'></i>
|
|
</a>
|
|
|
|
<div class='thumbnail'>
|
|
<% if (['image'].includes(ctx.uploadable.type)) { %>
|
|
|
|
<%= ctx.makeThumbnail(ctx.uploadable.imageUrl) %>
|
|
|
|
<% } else { %>
|
|
|
|
<%= ctx.makeThumbnail(null) %>
|
|
|
|
<% } %>
|
|
</div>
|
|
|
|
<div class='file'>
|
|
<strong><%= ctx.uploadable.name %></strong>
|
|
</div>
|
|
|
|
<div class='safety'>
|
|
<% for (let safety of ['safe', 'sketchy', 'unsafe']) { %>
|
|
<%= ctx.makeRadio({
|
|
name: 'safety-' + ctx.uploadable.key,
|
|
value: safety,
|
|
text: safety[0].toUpperCase() + safety.substr(1),
|
|
selectedValue: ctx.uploadable.safety,
|
|
}) %>
|
|
<% } %>
|
|
</div>
|
|
|
|
<div class='anonymous'>
|
|
<%= ctx.makeCheckbox({
|
|
text: 'Upload anonymously',
|
|
name: 'anonymous',
|
|
checked: ctx.uploadable.anonymous,
|
|
}) %>
|
|
</div>
|
|
</li>
|