jmoenig / Snap

a visual programming language inspired by Scratch
http://snap.berkeley.edu
GNU Affero General Public License v3.0
1.49k stars 744 forks source link

Label the inputs on "Make a block" dialog for better accessibility #2984

Open pamelafox opened 2 years ago

pamelafox commented 2 years ago

A general best practice for accessibility/usability is to label form inputs, making it clearer how a user is meant to use them. https://www.w3.org/WAI/tutorials/forms/labels/ It also makes it easier for others to give guidance as to how to fill out a form ("Write the title in the title field")

The make a block dialog has no labels at the moment: Screen Shot 2022-02-10 at 10 36 59 AM

I suggest adding labels like: Screen Shot 2022-02-10 at 10 37 42 AM

Or whatever the labels are meant to be in Snap parlance.

(Notably, I didnt realize the palette clicker was even clickable, I thought it was just some sort of visual thing that was always there. A label helps point out that something is a field, too).

jmoenig commented 2 years ago

Thanks!

I'd like to redesign the whole make-a-block UI in the light of what we've learned and how other blocks languages have progressed in the meantime. For example, I increasingly feel that not being able to specify inputs right away (aside from a horrible kludge that prefixes them with the percent sign) is a problem, because after giving a block a "name" we're forcing users to specify the parts of the "name" that really are internal input names (and won't show up in the block label at all) in a second step, which is totally not obvious, either.

brianharvey commented 2 years ago

Uh oh, is "other block languages" a euphemism for Scratch? :)

How should the user specify input names? Will it be discoverable? Will they be able to open the long form input dialog to specify their types? Etc.