All Posts

PDF Accessibility for Web Developers

PDF Accessibility for Web Developers

The Portable Document Format (PDF) is used throughout the web and beyond. Created in the 1990s by Adobe, it provides a platform independent method of accessing documents across a wide range of devices. Regardless of software, hardware and operating system: PDF layouts, text, fonts, colours and graphics should all remain the same. Which all sounds very accessible, but is it? Unfortunately PDFs are not by default accessible to everyone, yet with the right content and a tagged structure they can be greatly improved if opened with the correct software.

Web Accessibility: Why we care and focus on readability

Web Accessibility: Why we care and focus on readability

Whether you want to boost your search engine performance and reach the widest possible audience, or just stay ahead of the game when it comes to legal compliance, then accessibility should be important to you. Thankfully, there are already guidelines for this. The Web Content Accessibility Guidelines (WCAG) are accessibility recommendations developed by The Web Accessibility Initiative (WAI), which is part of The World Wide Web Consortium (W3C). When they’re not too busy creating more acronyms, WCAG aim to provide a single shared standard, ensuring that users with different disabilities are able to access and interact with content as much as possible without restrictions.

Web Accessibility For The Blind And Visually Impaired

Web Accessibility For The Blind And Visually Impaired

According to the World Health Organisation around 1.3 billion people live with some form of vision impairment. Of those, 217 million have moderate to severe vision impairment, and 36 million people are blind. Whilst those most severe cases are low proportionally, they are not small numbers. Within the context of developing for the web, they are people that should not be forgotten. They too should have the independence to navigate content, shop online and engage with the world.

Resolving Changelog Merge Conflict Madness

We start with an innocent looking changelog. — title: Changelog status: ready # draft, ready — All notable changes to this project will be documented in this file.<br> The format is based on Keep a Changelog ## [2.0.0] - Unreleased ### Added - Component footer: Added copyright to the footer ### Changed - Component accordion: Replaced title divs with header elements - Component textarea: Label font made bold ### Removed - Component sidenav: removed class my-class-1 from ul element ## [1.

Acceptance Testing A Service With Behat And Mink Sessions

Running automated acceptance tests are an excellent way to verify your application does exactly what it is intended to do. Each time you make changes to your application, your previous tests will always be there to give assurance that new functionality does not break anything. In this post we’ll look at how we can use Mink and Behat to simulate the interaction between a browser session and a simple service api.

Why Couscous Is Good For Documentation

Why Couscous Is Good For Documentation

Writing documentation can seem like a chore, or even an afterthought. Yet we know that it’s important so that others can use or maintain our code in future. That’s where Couscous comes in. Couscous is a static website generator for your documentation. It takes your markdown files and then converts them to HTML, allowing you to quickly serve up your documentation in a readable format. You can even deploy directly to GitHub pages.

Testing Time

Sometimes when unit testing PHP code, we run into things that are difficult to mock. This post will introduce how you can mock built-in php functions such as time() and mt_rand().

Mocking time()

Let’s take the below example:

namespace Example\Namespace;

function displayGreeting()
{
    $time = time();
    $hour = date("g", $time);
    $meridiem = date("A", $time);
    if ($meridiem == "AM") {
        return 'Good Morning';
    }
    if ($hour <= 6 || $hour == 12) {
        return 'Good Afternoon';
    }
    return 'Good Evening';
}

In order to fully test our display greeting function we need to be able to manipulate the time element, without having to change any system settings.