This article continues our series looking at website accessibility. Through these posts, we intend to provide practical tips on creating accessible software, with a focus on web applications. We explain why webpages which incorporate real text, rather than images of text, are more accessible to users.
In our last accessibility article we looked at the requirement to be able to resize text up to 200% and how to deal with any resulting issues. One of the challenges presented when resizing text is how to reflow the content to adjust to a larger text size. In this latest article we will look specifically at the requirement to reflow content.
Resizing webpage text to increase website accessibility In this next edition of the Website Accessibility series, we will be looking at resizing webpage text. There must be no loss of site functionality where text is resized. One of the criterion from the Web Content Accessibility Guidelines “Distinguishable” guidelines requires that any text displayed on your site must be capable of being resized by up to 200%, without any loss of functionality or content. There are some caveats, which we will explore in[...]
This article continues our series looking at website accessibility. We will be looking at a relatively new addition to the accessibility guidelines – non-text contrast; another criterion under the Web Content Accessibility Guidelines “Distinguishable” guideline. This criterion provides a minimum contrast for graphics – “active user interface components” and “meaningful graphics” (we’ll look at what those terms mean very shortly) with the objective of ensuring that people with certain visual impairments can still understand the controls or graphics without needing[...]
In this article we will be examining the fifth criterion under the Web Content Accessibility Guidelines “Adaptable” guideline. You are likely familiar with the “type” attribute that many input fields support, for example <input type=”text” />. Common types include number, date, checkbox, etc. More niche types include email, tel and password. These are extremely useful, and often cue the browser to offer different behaviour for input. However, those types don’t provide much indication of the purpose of the information. For[...]
This time we’ll be looking at the second of the criteria under the Web Content Accessibility Guidelines “Adaptable” guideline: When the sequence in which the content is presented affects its meaning, a correct reading sequence can be programmatically determined. As with our topic last month, the main issue we are trying to avoid here is for a screen to look perfectly fine visually, but to create problems for assistive technologies such as screen readers. This could occur where the visual[...]
We will be continuing our series of insights articles on the Web Content Accessibility Guidelines by looking at the first of the criteria under the “Adaptable” guideline: Information, structure, and relationships conveyed through presentation can be programmatically determined, or are available in text The real crux of this one is that we can make a screen of our application look perfectly comprehensible to a user approaching it purely visually, while a user approaching the same screen using a screen reader[...]
Before we get onto the tips, if you’re not familiar with why software accessibility is important, have a read of this short blog post from the head of accessibility at the Government Digital Service. “When I talk about accessibility, I’m using it to mean that people are not excluded from using something on the basis of experiencing a disability. Accessibility means that people can do what they need to do in a similar amount of time and effort as someone that does not have a disability. It means that people are empowered, can be independent, and will not be frustrated by something that is poorly designed or implemented.”
If you want to write a dynamic web application in 2019 then the chances are that you will reach out for a JavaScript solution, and that solution will probably be React. We compare React to Blazor, a new .NET framework allowing you to write in C# for the front and back ends.
Using Blazor, code written for the front-end has access to all the language features of C#. In particular, it may be useful to have a type hierarchy and make use of polymorphism. However, JSON objects have no explicit type, so how can we correctly deserialise a subtype?
One of the benefits of Blazor is that you can share C# objects between the server-side processing and the client-side processing. In this year’s Dev Camp we wanted to put this to the test with validation of dynamic forms.
In our Dev Camp this year we chose to experiment with Event Sourcing, using EventFlow for the solution. One task was to configure it to use an Azure Cosmos database instead of a SQL Server one. There were some hurdles to overcome. This post takes you through the attempts we made and the solution we found.
Our final day saw huge progress in the application's client and server sides coming together. This was really the focus of the day with everyone working together to solve the final challenges and get the client communicating with the server.
Development progresses on all fronts in day 4, with the client and server sides moving closer together thanks to new work on the shared classes and API.
By the end of day 3 we'd managed to get the Blazor application constructing a dynamic form based on an external set of defined fields and having those fields be validated dynamically on the client-side again based on externally defined validation rules. Here's what that looks like...
In day 2 the team continued making progress in each of their areas. The EventFlow project begins to come together, shared client and server validation plans are made, and getting Event Flow working with Cosmos DB causes frustration.
In day 1 we set up our client and server-side teams; identified useful resources and frameworks for the week; and began setting up the solution and its components.
At OCC, dev camps are a way for us to experiment with new technologies, create prototype products, and bring back recommendations to the wider company regarding the new tools and techniques we've been able to evaluate.
The next generation of ASP.NET is on the horizon Back in August we ran a lunchtime miniconf video that introduced us to Blazor. It began as a proof of concept from ASP.NET team member Steve Sanderson, who saw an opportunity to run C# and .NET code natively in the browser by compiling it to WebAssembly – a highly performant, assembly-like language that runs alongside JavaScript. Back then he was using an old open-source project called DotNetAnywhere to provide access to[...]
A recent survey of social care directories found OCC’s MarketPlace offers one of the best user experiences for those seeking information and advice about care. Socitm, the society for IT practitioners in the public sector, carried out the survey in December 2017. It reviewed 152 council sites on a range of user experience criteria, including: how easy it was for a user to find the site content and presentation of information, including the clarity of headings and the relevance, continuity[...]