{"id":65,"date":"2026-05-14T21:52:53","date_gmt":"2026-05-14T21:52:53","guid":{"rendered":"https:\/\/jathumathews.uk\/mydesign\/?page_id=65"},"modified":"2026-05-14T22:12:54","modified_gmt":"2026-05-14T22:12:54","slug":"transforming-alfs-cycles-from-basic-html-to-a-modern-accessible-web-experience","status":"publish","type":"page","link":"https:\/\/jathumathews.uk\/mydesign\/transforming-alfs-cycles-from-basic-html-to-a-modern-accessible-web-experience\/","title":{"rendered":"Transforming Alf&#8217;s Cycles: From Basic HTML to a Modern, Accessible Web Experience"},"content":{"rendered":"\n<p class=\"has-contrast-color has-text-color has-link-color wp-elements-998d472356a3f2faad8e21e67929c7ca\">Welcome to my coursework blog! In this post, I will critically analyse the original small business website for Alf&#8217;s Cycles and detail the extensive design and technical improvements I implemented during the recent refactoring process.<\/p>\n\n\n\n<p>&#8212;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Part 1: Critical Analysis of the Original Site<\/strong><\/h2>\n\n\n\n<p>The original Alf&#8217;s Cycles website  served as a functional starting point but suffered from several significant drawbacks that hindered its maintainability, user experience (UX), and search engine visibility.<\/p>\n\n\n\n<p><strong>1. Maintainability and Architecture<\/strong><\/p>\n\n\n\n<p>The most glaring issue was the lack of a modular architecture. Every page (`index.html`, `about.html`, `services.html`, etc.) contained hardcoded copies of the header, navigation, and footer. If a navigation link needed changing or a new page was added, every single HTML file required manual updating. This repetition is prone to human error and makes scaling the site incredibly tedious.<\/p>\n\n\n\n<p><strong>2. Accessibility and Inclusivity<\/strong><\/p>\n\n\n\n<p>The original code lacked fundamental accessibility features. There were no &#8220;skip to main content&#8221; links for keyboard navigators, interactive elements like the mobile menu toggle lacked proper `aria-expanded` states, and touch targets on mobile were not optimized for the WCAG recommended minimum of 44x44px. Furthermore, there was no accessibility statement provided for users.<\/p>\n\n\n\n<p><strong>3. SEO and Performance Optimization<\/strong><\/p>\n\n\n\n<p>While the site used `&lt;title&gt;` tags, it completely omitted critical SEO elements such as `&lt;meta name=&#8221;description&#8221;&gt;`, keywords, and canonical URLs. Images were implemented with basic `&lt;img&gt;` tags without modern performance attributes like `loading=&#8221;lazy&#8221;` or `fetchpriority`, meaning the browser downloaded everything at once, slowing down the initial page load speed.<\/p>\n\n\n\n<p><strong>4. User Experience (UX) and Interactivity<\/strong><\/p>\n\n\n\n<p>The design felt static and basic. The navigation was a standard list, and the mobile menu lacked polish\u2014simply appearing and disappearing without animation or background scroll-locking. Crucial business information, like whether the shop was currently open or closed, required the user to manually read the timetable and check their watch, rather than providing immediate, dynamic feedback.<\/p>\n\n\n\n<p>&#8212;<\/p>\n\n\n\n<p><strong>Part 2: Summary of Improvements<\/strong><\/p>\n\n\n\n<p>To solve these issues, I completely refactored the site into a modern, performant, and highly accessible web experience.<\/p>\n\n\n\n<p><strong>Technical Improvements<\/strong><\/p>\n\n\n\n<p>*<strong>PHP Server Side Includes (SSI): <\/strong> I migrated the site to a PHP architecture. The header and footer are now isolated in `includes\/header.php` and `includes\/footer.php`. This drastically improves maintainability; updating the navigation menu now only requires editing one file, which automatically updates across the entire site.<\/p>\n\n\n\n<p><strong>JavaScript Enhancements:<\/strong>  I implemented a dynamic &#8220;Shop Status&#8221; script that checks the user&#8217;s local time against the shop&#8217;s trading hours. It displays a live &#8220;OPEN&#8221; (with a pulsing green dot) or &#8220;CLOSED&#8221; indicator in both the hero section and footer. During the last hour of trading, it even provides a helpful countdown (e.g., &#8220;closes in 15 min&#8221;). Additionally, the `find-us.php` page uses JavaScript to automatically highlight today&#8217;s opening hours in the timetable.<\/p>\n\n\n\n<p><strong>Performance &amp; SEO:<\/strong> All images are now served in the highly compressed WebP format. I implemented `fetchpriority=&#8221;high&#8221;` for the critical hero image and `loading=&#8221;lazy&#8221;` with `decoding=&#8221;async&#8221;` for images below the fold. Every page now injects unique, descriptive meta tags into the header for superior search engine findability.<\/p>\n\n\n\n<p><strong>Robust Routing: <\/strong> I added an `.htaccess` file and created a custom `404.php` error page. If a user gets lost, they are greeted with a friendly, on-brand error page guiding them back to safety.<\/p>\n\n\n\n<p><strong>Design and UX Improvements<\/strong><\/p>\n\n\n\n<p><strong>Premium Aesthetic: <\/strong> I moved away from a generic layout to a premium, dark-mode design utilizing glassmorphism (blurred backgrounds on sticky elements), vibrant orange accents, and smooth micro-animations (`fade-up` effects on load).<\/p>\n\n\n\n<p><strong>Minimalist Iconography: <\/strong> I replaced the basic emojis used in the original site with <strong> Lucide Icons<\/strong> \u2014a clean, mono-line SVG icon library. These scale perfectly with the typography and give the site a unified, professional polish.<\/p>\n\n\n\n<p><strong>Mobile-First Responsiveness: <\/strong> The site was rebuilt using fluid typography (`clamp()`) and CSS Grid. It scales flawlessly from a 4K desktop monitor down to a 320px smartphone screen. The mobile burger menu now smoothly overlays the screen and locks the background from scrolling, mirroring a native app experience.<\/p>\n\n\n\n<p><strong>Accessibility Compliance (WCAG AA):<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&nbsp;&nbsp; Added a visually hidden &#8220;Skip to main content&#8221; link.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&nbsp; &nbsp;  Implemented high-contrast `:focus-visible` outlines for keyboard navigation.<\/li>\n\n\n\n<li>&nbsp; &nbsp; Ensured all links and buttons meet the 44x44px touch target rule.<\/li>\n\n\n\n<li>&nbsp; &nbsp;&nbsp; Added full ARIA attribute support to the mobile menu (`aria-expanded`, `aria-controls`).<\/li>\n\n\n\n<li>&nbsp;  Included a `prefers-reduced-motion` media query to disable animations for users with vestibular disorders.<\/li>\n\n\n\n<li>&nbsp; &nbsp; Published a dedicated Accessibility Statement page.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p>By transitioning from basic HTML to a PHP-driven architecture, the new Alf&#8217;s Cycles website is not only visually striking but also highly maintainable, lightning-fast, and accessible to everyone.<\/p>\n\n\n\n<p><em>*(Note: Both the [<\/em><em>Old Alf&#8217;s Cycles Site<\/em><em>](<\/em><em>#<\/em><em>) and the [<\/em><em>New Refactored Site<\/em><em>](<\/em><em>#<\/em><em>) are linked on my coursework homepage for comparison.)*<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color has-link-color wp-elements-a184d5eed666fb6ee002805fa56e37ef\" style=\"color:#fa7205\">Disclaimer about use of AI :<\/h2>\n\n\n\n<p>This project was built with assistance from: &#8211; Claude Sonnet 4.6 and Gemini 3.1 pro \u2014 used for coding assitance and content writing.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to my coursework blog! In this post, I will critically analyse the original small business website for Alf&#8217;s Cycles and detail the extensive design and technical improvements I implemented during the recent refactoring process. &#8212; Part 1: Critical Analysis of the Original Site The original Alf&#8217;s Cycles website served as a functional starting point [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-65","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/jathumathews.uk\/mydesign\/wp-json\/wp\/v2\/pages\/65","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jathumathews.uk\/mydesign\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jathumathews.uk\/mydesign\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jathumathews.uk\/mydesign\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jathumathews.uk\/mydesign\/wp-json\/wp\/v2\/comments?post=65"}],"version-history":[{"count":4,"href":"https:\/\/jathumathews.uk\/mydesign\/wp-json\/wp\/v2\/pages\/65\/revisions"}],"predecessor-version":[{"id":69,"href":"https:\/\/jathumathews.uk\/mydesign\/wp-json\/wp\/v2\/pages\/65\/revisions\/69"}],"wp:attachment":[{"href":"https:\/\/jathumathews.uk\/mydesign\/wp-json\/wp\/v2\/media?parent=65"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}