Daniel Allen Deutsch

Web Developer


Project #4: Sign Up Now

September 26, 2016

Passwords are the worst. I believe there is universal hatred for the phrase: "Password must contain a special character".

There is one service I use that requires passwords to be updated each month. My password started out as "MyPassword" (not really). And now it is "MyPassword!!!!!!" (really ending in 6 !'s).

I had the idea to make a website to parody the process of signing up for a new service. It took more time than I expected, but I also learned more than I would have guesses.

The website is live here: sign-up-now.s3-website-us-east-1.amazonaws.com.

The Specs
The Code

The code for this project is simple. All of the files are publicly available.

What Did I Learn (Technical)
Web Accessibility

The web, on a fundamental level, should be accessible to everyone. This includes, as examples, people that are blind and color blind. If web pages are built properly, there are tools that allow all users to interact with your website. A common and important tool is a screen-reader.

Largely, if you use proper semantic HTML everything will take care of itself. But what if, for example, you put an <h1> on a page without any content? This is a common thing to do, if you plan to fill the h1 with dynamic content using JavaScript after some user-interaction.

To a sighted-user, this is no problem. But it messes up a screen-reader. It is assumed that an h1 contains the most important text on a page, and if it's empty things get confused.

Now that you know that's a shitty thing to do, I hope you'll be more conscious of it 1.

These are things I did wrong—

What Did I Learn (Non-Technical)

I often take on big projects (Project #3: Gain Fluency in Go) that have no obvious end. It was nice and fun building something with such a small scope.

Additionally, it's sometimes the quick features and projects that bring people the most joy. I spent a long time building a big thing I couldn't convince anyone to use. This took a few hours, and ~300 people played with it (small numbers for BuzzFeed, big numbers for me). Some people even reached out to say they got a big kick out of it.

Lastly, wins beget wins. I didn't expect to learn about accessibility with this project. But if you build something and show it to people, it can lead to unexpected places. Last week I knew next-to-nothing about web accessibility; now I know slightly more than that 😃.

1 The real truth is, I don't care much about web accessibility. I do not have any of the disabilities solved by accessibility standards, nor do any of my friends or family.
With that said, I do a lot of things I don't care about. In fact, I feel strongly about doing many of these things. It comes down to low-cost, high-upside.
An example: I think the word "guys" is gender-neutral. However, lots of people disagree. Therefore, use of the word "guys" makes certain people feel less included. I don't want to make anyone feel excluded—especially within a community I love.
Therefore, I try not to use the word "guys". It costs me nothing to do that, and is valuable to other people. Problem solved!
Similarly, it isn't difficult to build websites that are accessible. And it has the potential to be hugely helpful to someone else. If you build things for the web, you have a responsibility to be a good citizen.

2 If ARIA sounds vaguely familiar, you have seen it before in the Bootstrap documentation:
<input type="text" class="form-control" id="inputSuccess2" aria-describedby="inputSuccess2Status">

Have anything to say? Questions or feedback? Tweet at me @cmmn_nighthawk!