Since my last post, my main goal was to implement comments. Simple enough, no?
Technically speaking, the process for allowing comments in ExpressionEngine is simple. That is, unless you are a person who is picky or anal-retentive or has a tendency towards over-thinking. In other words: Me.
For me, it has been an exercise in frustration. While I did manage to get comments working, they aren't working as I would ideally like them to work.
Clean Markup
EE's Comment Submission Form appears to be the one and only option for generating the necessary markup for comment forms. However, this tag generates markup that unnerves me:
- Mixed use of single and double quotes around
form
attribute values - Unnecessary and un-semantic addition of a
div
to contain theform
'shidden
fields
I can admit that, in the grand scheme of things, these are minor. But I am an XHTML specialist. Semantic, clean markup is what I care about. These "minor" issues don't feel minor to me. It feels like lazy coding on the part of some developer. Lazy coding that I don't know how to reverse engineer.
And then there's …
Accessibility vs. Spam
I recently read Joe Dolson's Spam vs. Accessibility, which made me all too aware that there just isn't a great solution that meets the needs of both.
EE's default option is CAPTCHA. As a user, I have found CAPTCHAs more than annoying, if not completely unreadable at times. I also don't like how they restrict screenreader users (among other accessibility issues).
Ian recently posted Akismet for ExpressionEngine, and he implemented it on his blog. Yet it felt "clunky" to me: When I submitted a comment, I was then redirected to a completely different page informing me the comment was pending approval.
Ultimately neither of these options — or anything out there, really — feel "right" to me.
Let me not forget …
Comment Live Preview
I don't really care for the default EE comment preview functionality. I really want a live preview option for my comments.
I found a quick and dirty LivePreview script on the EE Wiki.
So what's the problem? First and foremost, I want an unobtrusive solution. But I also want:
- Comment author's name to display as a link if they enter a URL value
- Comment text to display links if the user enters a link value
I pretty much suck at JS, and all my efforts to get it working as I wanted only resulted in a major headache.
Doh!
So, after trying to make decisions about these concerns and attempting to re-engineer the default solutions, I realized I was just wasting time.
And then the light bulb went off: What is my top priority?
This is the simplest question, and I know it is always the place to start for any project. I tell my clients this, I tell my boss this, I tell my colleagues this. Yet I got so caught up in the details, I never considered it myself.
For this blog at this point in time, my main priority is simply learning ExpressionEngine. The rest of it is valuable to consider and will be revisited, but it has only served to keep me from staying true to that main priority.
So, here's how things stand today:
- Using the default EE comment submission form, shoddy markup and all
- Using CAPTCHA for anti-spam measures, regardless of accessibility and usability issues
- Live preview displays plain text name and comment information, and won't work if JS is disabled
Before I forget …
A Little Bit of Style
If you are reading this post on the blog, you will notice I've finally put some basic styling in place (happily borrowed from my design portfolio).
This is just to improve readability, help me fine-tune my markup, and give me a sense of how I want my content visually presented on the most basic level. Still, this styling — like everything on A Blog Not Limited — is a work–in–progress.
The final visual design of this blog is a long way off. As all good designers should know, content must precede design. And I'm still futzing with content every day.
I know my priority now. Design will have to wait.
♥ Share the Love