Commit Graph

19 Commits

Author SHA1 Message Date
Javi Martín
5214d89c88 Use order links to sort comments and topics
We use order links in many places in the web. However, in the comments
section and the list of community topics, we were displaying a
`<select>` element, and changing the location when users select an
option.

This has several disadvantages.

First, and most important, it's terrible for keyboard users. `<select>`
fields allow using the arrow keys to navigate through their options, and
typing a letter will select the first option starting with that letter.
This will trigger the "change" event and so users will navigate through
a new page while they were probably just checking the available options
[1]. For these reasons, WCAG Success Criterion 3.2.2 [2] states:

> Changing the setting of any user interface component does not
> automatically cause a change of context unless the user has been
> advised of the behavior before using the component.

Second, the form didn't have a submit button. This might confuse screen
reader users, who might not know how that form is supposed to be
submitted.

Finally, dropdowns have usability issues of their own [3], particularly
on mobile phones [4]

The easiest solution is to use the same links we generally use to allow
users select an order, so using them here we make the user experience
more consistent. They offer one disadvantage, though; on small screens
and certain languages, these links might take too much space and not
look that great. This issue affects pretty much every place where we use
order or filter links, so we might revisit it in the future.

Note we're moving the links to order comments after the form to add a
new comment. In my opinion, having an element such as a form to add a
new comment between the element to select the desired order of the
comments and the comments themselves is a bit confusing.

[1] https://webaim.org/techniques/forms/controls#javascript
[2] https://www.w3.org/WAI/WCAG21/Understanding/on-input.html
[3] https://www.youtube.com/watch?v=CUkMCQR4TpY
[4] https://www.lukew.com/ff/entry.asp?1950
2021-06-28 00:08:18 +02:00
Julian Herrero
f6489bc604 Use double quotes in app/views 2019-03-19 12:33:07 +01:00
taitus
f0667937fb Refactor and extract code to partials. 2017-09-06 14:48:41 +02:00
taitus
64774b0d2d Refactor topics controller. Add Common abilities. Add destroy action. 2017-09-06 13:30:12 +02:00
taitus
62003b3000 Add back link on community show. Add styles on login to create topic. 2017-09-05 12:55:12 +02:00
taitus
47f897840a Refactor translates and indent. 2017-09-05 12:55:12 +02:00
Alessandro Cuoghi
f67f4c85c7 If there is no theme, add text and link. 2017-09-05 12:55:12 +02:00
taitus
8f7356f7a4 Add missing spec. Improve readability on topics files 2017-09-05 12:54:32 +02:00
taitus
4539c5fa00 Refactor and tests. 2017-09-05 12:52:14 +02:00
Alessandro Cuoghi
555c47e012 Clean code. 2017-09-05 12:51:08 +02:00
Alessandro Cuoghi
1e60bc5cc2 Remove some css. Pass scss-lint 2017-09-05 12:51:08 +02:00
Alessandro Cuoghi
35f6ce4b86 Translate button editar. Activated translations into wide_order_selector. 2017-09-05 12:51:08 +02:00
Alessandro Cuoghi
322ecf4fd5 Changed some translations. 2017-09-05 12:51:08 +02:00
taitus
a1d37fa6c4 Add order on topic index. 2017-09-05 12:51:08 +02:00
Alessandro Cuoghi
b4cdca215d Added style show community. 2017-09-05 12:51:08 +02:00
taitus
bea393bcde Add comments to topics 2017-09-05 12:51:08 +02:00
Alessandro Cuoghi
7cf932490d remove tag. 2017-09-05 12:51:08 +02:00
taitus
c6e48946bd Add timestamps to Topic. Add fields on topic list. 2017-09-05 12:51:08 +02:00
taitus
43c17c3fc7 Add communities and topics 2017-09-05 12:51:08 +02:00