Kai's question about Javascript reminded me of an issue I've been meaning to bring up. It's regarded as very bad practice to use event attributes like onmouseover or onclick directly in the HTML. We should use "unobtrusive Javascript", where we have a script block that does all that. This has the added effect of reducing HTML bloat.
Taking the mousover JS as an example, instead of a dozen upvote buttons with the attributes, you can do every one on the page all together with jQuery:
<script>
$('.qa-vote-first-button').hover(
function() { $(this).addClass('qa-vote-up-hover'); },
function() { $(this).removeClass('qa-vote-up-hover'); }
);
</script>
A similar thing can be done on click:
<script>
$('.qa-vote-first-button').click(function() {
return qa_vote_click(this);
});
</script>
What do you think?