Allow me to share an anecdote from February of 2018. Back then, I had some thoughts I was itching to express through writing, though there was no financial incentive behind it. Moreover, maintaining a blog on the subjects I was passionate about seemed impractical. I prefer projects with clear phases: a beginning, middle, and end, preferably with a deadline involved. So, I pondered over constructing several niche/authority websites on themes close to my heart. I reasoned that niche sites need not be slyly designed ad platforms with poor aesthetics and user experience. I could set a new standard. Once completed, these sites would require minimal maintenance. Plus, there was no need for a custom design—a pre-built wiki or knowledge base template for WordPress or a similar CMS would serve adequately.
During my quest for the perfect theme, I stumbled upon several that appealed to me, including some stunning premium options where I was tempted to spend my money. What a regrettable decision that would’ve been! My realization was this: each theme relied extensively on JavaScript for elementary functions such as content display, navigation, and search functionality. (Despite promising myself not to reiterate my stance on why an over-reliance on JavaScript is ill-advised, here I am again, unable to resist).
When you offer a theme dependent on JavaScript for basic operations, you are proposing a website prone to dysfunction under certain conditions. Be it a sluggish internet connection, a plugin conflict, unruly ad networks, or a simple browser glitch—such fragilities can lead to breakdowns. If we allow our daily digital tools to be so fragile, we create a significant accessibility barrier, and ultimately, we do our customers a disservice.
To release ready-made templates without addressing these potential failings, especially with no warning, is troubling. Sometimes, it’s seasoned professionals looking for shortcuts who use these themes, but often, it’s novices with a cursory understanding of HTML. Furthermore, these wiki and knowledge base themes are destinations for users in dire need of assistance—customer support and educational platforms should be the last to encounter failures.
While the allure of snazzy visual flair is understood, and I don’t fault designers for leveraging such features to attract buyers, it is incumbent upon us to ensure robust fallback mechanisms for every JavaScript component. We need basic layouts, navigational elements, and forms to underpin any circumstance. While supporting outdated browsers isn’t expected, the fact remains that when JavaScript fails, it usually affects only a subset of end-users, but even that is significant. These could have been potential customers, and their loss is a reflection on us—the designers and developers.
Faced with this predicament, I am now compelled to craft my own wiki/knowledge-base styled theme, perhaps for Grav CMS, because someone has to set things right—and it might as well be me. As Taylor Swift aptly put it, “Look what you made me do.”