New Board of Elections Site

The rea­son I’ve been putting in so many late hours since the first of the year is now live to the world. The new Cuya­hoga Coun­ty Board of Elec­tions site is now live. Our whole group has done pret­ty much noth­ing but recode the site from the ground up since Jan­u­ary 1st. I put togeth­er a site tour to show off all of the new bells and whis­tles, but I’ll touch on my favorites here.

My Voting Information

The My Vot­ing Infor­ma­tion page is a great one-stop-shop for per­son­al­ized vot­ing infor­ma­tion, all of which is pub­lic record. If you enter your last name and date of birth you get detailed results con­cern­ing your polling loca­tion, bal­lot, dis­trict infor­ma­tion, past elec­tion par­tic­i­pa­tion [not your votes, just the elec­tions you’ve vot­ed in], poll work­er par­tic­i­pa­tion and com­mu­ni­ty out­reach events in your city. There’s even a Google map which will give you direc­tions from your home to your polling loca­tion.

Election Results Wizard

The Elec­tion Results Wiz­ard lets you fol­low only the races you’re inter­est­ed in instead of hav­ing to scroll through the huge mas­ter results list.

Events Calendar

The Events Cal­en­dar lets you search for the events that you’re inter­est­ed in, and only the events you’re inter­est­ed in.

Validation, Accessibility

Work­ing with­in the design con­straints [not a big fan of hav­ing to use #EF3E42] and the con­straints of the ASP.NET CMS was great for the most part. I’m still hav­ing fits try­ing to get the serv­er to stop spit­ting out so much trash code, but I’ve learned a lot about styling with­in .NET itself. Despite that, I’m at a loss of what to do with the remain­ing val­i­da­tion errors since even the three images miss­ing alt attrib­ut­es are inac­ces­si­ble because they aren’t hard-cod­ed. I man­aged to give them title attrib­ut­es, but can’t fig­ure out the alt text trick. I’m try­ing to con­vince the devel­op­ers to take the Google Map API key out of the web.config and put it back into the script where it typ­i­cal­ly is because ASP.NET doesn’t allow code blocks with­in the head­er. This means there are script ref­er­ences out­side of the head­er. And, ASP.NET labels spit out every­thing between tags which the val­ida­tor also chokes on because block-lev­el ele­ments can’t be con­tained with­in inline ele­ments.Update: I’ve whit­tled down the val­i­da­tion errors to one, the onClick attribute that’s called as a user con­trol for the site search. That’s def­i­nite­ly one for a devel­op­er to look at. The alt attrib­ut­es were insert­ed by using a text=”” attribute in the asp:hyperlink line. I’m used to a text attribute actu­al­ly spit­ting out text, so that wasn’t an intu­itive choice for me. The Google API isn’t called until some­one actu­al­ly clicks on a direc­tions link, so there are now no scripts out­side of the head­er, and all those span tags can be got­ten rid of by using ASP:Literal ele­ments instead of ASP:Label ones. That sim­ple switch cleaned up about 80% of the trash code that I was see­ing upon view­ing source. I’m learn­ing even more. Maybe I’ll even learn some pro­gram­ming here in a bit.

There might be a bet­ter way to go about this, but I’ve not had the chance to take an ASP.NET course yet, and it is new hat to the devel­op­ers as well. Those guys are frig­gin’ heroes though, no doubt.

In acces­si­bil­ity­land, unfor­tu­nate­ly the site is heav­i­ly depen­dent on JavaScripts. There isn’t real­ly any­thing I can do about that as a design­er, and most of the inter­ac­tive items depend on it. I made sure to pro­vide access keys and tab index­ing where it would be help­ful and we’re now pro­vid­ing an acces­si­bil­i­ty state­ment, at least. There is always more to be done, but the hon­est truth is that acces­si­bil­i­ty becomes a low pri­or­i­ty when the lim­its of time, mon­ey and inter­est are more con­cerned with oth­er things. On the bright side, the new site is worlds bet­ter than the old one for those who use alter­na­tive brows­ing meth­ods.

The End

In the end I hope that [as cheesy as it sounds] my work on the BOE site will help improve the elec­toral process and expe­ri­ence for folks in Cuya­hoga Coun­ty. Although I say so myself, the Cuya­hoga Coun­ty Board of Elec­tions site is the best board of elec­tions site I’ve seen. I hope it influ­ences oth­ers to step up their game as much as the Web Group at the ISC has these past two months.

Time for a beer.

8 Replies

  • Very nice.

    Thanks for your hard work, Adam.

    It was real­ly easy to find my vot­ing info, and a bit wor­ri­some to find I’m list­ed as Par­ty: “X”.

    Is that a check­mark or an unde­fined?

  • Hmm.

    From the FAQ : “a person’s polit­i­cal par­ty affil­i­a­tion is deter­mined by choos­ing to vote a par­ty bal­lot at a par­ti­san Pri­ma­ry Elec­tion.”

    So, I can vote in a party’s Pri­ma­ry on Tues­day with­out hav­ing pre­vi­ous­ly reg­is­tered for that par­ty…?

  • Yup,

    You can declare a par­ty affil­i­a­tion at the polls, and you can switch affil­i­a­tion at the polls at every pri­ma­ry if you so choose. At least, that’s how I under­stand it. Or you can just vote on the issues if you don’t want to declare a par­ty. That’s what I’m going to do.

  • Looks great, but I about plotzed when the site wouldn’t acknowl­edge me and called me “unreg­is­tered” — I called and in less than 5 was told that I was, indeed reg­is­tered.… *whew!* 

Comments are closed.