SlideShare a Scribd company logo
1 of 36
How we use
Silverstripe CMS to
deliver Bilingual and
Accessible websites
Presented by – Michael Pritchard
Michael Pritchard
2
• Twitter:@MikeAPritch
• web: pen-y-fan.github.io
• First computer was a ZX Spectrum 48k
Software developer
10 PRINT “Hello”
20 GOTO 10
Agenda
3
• What is the problem?
• Why is accessibility important?
• What do organization have to do to comply?
• What is the benefit for the user?
Technologies Used
4
Responsive Design
5
Responsive Design
6
GDPR
7
Bilingual
8
Fluent
9
composer require tractorcow/silverstripe-fluent ^5
Translation _t
10
Translation <%t … >
11
i18nTextCollectorTask
12
Disability in Wales
13
Disabled (410k) Not disabled (1,401k)
Accessibility examples
14
Accessibility examples
15
Resources
16
1. Lighthouse
2. Axe
3. WAVE
How to access Lighthouse
17
How to access Axe dev tools
18
How to access Wave
19
Contrast checker
20
Demo - Simple!
21
Lighthouse
22
And the score is….
23
Contrast and Best practice
24
Inspect Failing Element
25
color and background
26
Webaim contrast checker
27
Adjust the slider
28
Adjust the CSS
29
Re-run Lighthouse
30
User scalable no!
31
Meta
32
Re-run Lighthouse
33
Manual items
34
Resources
35
• Google Accessibility for developers
• https://www.google.com/accessibility/for-developers/
• Webaim WAVE
• https://wave.webaim.org/
• Webaim Contrast Checker
• https://webaim.org/resources/contrastchecker/
• Google Lighthouse
• https://developers.google.com/web/tools/lighthouse/
• Inclusive design 24 – YouTube
• https://www.youtube.com/inclusivedesign24/
Questions
Any questions?
36

More Related Content

What's hot

Case Study: Migration to GitLab (from Bitbucket) at AppsFlyer
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyerCase Study: Migration to GitLab (from Bitbucket) at AppsFlyer
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyerNoa Harel
 
Continuously delivering value
Continuously delivering valueContinuously delivering value
Continuously delivering valueŽilvinas Kuusas
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devopsVincent Biret
 
Lush E-Commerce Migration - Google NEXT London
Lush E-Commerce Migration - Google NEXT LondonLush E-Commerce Migration - Google NEXT London
Lush E-Commerce Migration - Google NEXT LondonRyan Kerry
 
Visual Studio Team Services Overview
Visual Studio Team Services OverviewVisual Studio Team Services Overview
Visual Studio Team Services OverviewGordon Beeming
 
One ASP.Net - 4 frameworks, one project
One ASP.Net - 4 frameworks, one projectOne ASP.Net - 4 frameworks, one project
One ASP.Net - 4 frameworks, one projectJeffrey T. Fritz
 
Présentation de l’extension Lightning pour Thunderbird
Présentation de l’extension Lightning pour ThunderbirdPrésentation de l’extension Lightning pour Thunderbird
Présentation de l’extension Lightning pour ThunderbirdLINAGORA
 
Automating Deployments with Deployer - php[world] 2018
Automating Deployments with Deployer - php[world] 2018Automating Deployments with Deployer - php[world] 2018
Automating Deployments with Deployer - php[world] 2018Colin O'Dell
 
2018-10-23 3C - Lean, Scrum and low code approach of SharePoint and O365 proj...
2018-10-23 3C - Lean, Scrum and low code approach of SharePoint and O365 proj...2018-10-23 3C - Lean, Scrum and low code approach of SharePoint and O365 proj...
2018-10-23 3C - Lean, Scrum and low code approach of SharePoint and O365 proj...aOS Community
 
BelTech 2017 - Building Quality in the Browser
BelTech 2017 - Building Quality in the BrowserBelTech 2017 - Building Quality in the Browser
BelTech 2017 - Building Quality in the BrowserEamonn Boyle
 
Headless WordPress and the future is here
Headless WordPress and the future is hereHeadless WordPress and the future is here
Headless WordPress and the future is hereAbu-Huraira Bin Aman
 
Drupal's competition
Drupal's competitionDrupal's competition
Drupal's competitionAngela Byron
 
Lessons Learnt from Backend Systems Development
Lessons Learnt from Backend Systems DevelopmentLessons Learnt from Backend Systems Development
Lessons Learnt from Backend Systems DevelopmentMichal Juhas
 
Components vs Frameworks
Components vs FrameworksComponents vs Frameworks
Components vs FrameworksTimothy Oxley
 
Constinuous Integration
Constinuous IntegrationConstinuous Integration
Constinuous IntegrationGabriel Araujo
 

What's hot (20)

Case Study: Migration to GitLab (from Bitbucket) at AppsFlyer
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyerCase Study: Migration to GitLab (from Bitbucket) at AppsFlyer
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyer
 
Continuously delivering value
Continuously delivering valueContinuously delivering value
Continuously delivering value
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops
 
SKS in git ops mode
SKS in git ops modeSKS in git ops mode
SKS in git ops mode
 
Lush E-Commerce Migration - Google NEXT London
Lush E-Commerce Migration - Google NEXT LondonLush E-Commerce Migration - Google NEXT London
Lush E-Commerce Migration - Google NEXT London
 
Visual Studio Team Services Overview
Visual Studio Team Services OverviewVisual Studio Team Services Overview
Visual Studio Team Services Overview
 
One ASP.Net - 4 frameworks, one project
One ASP.Net - 4 frameworks, one projectOne ASP.Net - 4 frameworks, one project
One ASP.Net - 4 frameworks, one project
 
Présentation de l’extension Lightning pour Thunderbird
Présentation de l’extension Lightning pour ThunderbirdPrésentation de l’extension Lightning pour Thunderbird
Présentation de l’extension Lightning pour Thunderbird
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 
Serverless
ServerlessServerless
Serverless
 
Automating Deployments with Deployer - php[world] 2018
Automating Deployments with Deployer - php[world] 2018Automating Deployments with Deployer - php[world] 2018
Automating Deployments with Deployer - php[world] 2018
 
2018-10-23 3C - Lean, Scrum and low code approach of SharePoint and O365 proj...
2018-10-23 3C - Lean, Scrum and low code approach of SharePoint and O365 proj...2018-10-23 3C - Lean, Scrum and low code approach of SharePoint and O365 proj...
2018-10-23 3C - Lean, Scrum and low code approach of SharePoint and O365 proj...
 
BelTech 2017 - Building Quality in the Browser
BelTech 2017 - Building Quality in the BrowserBelTech 2017 - Building Quality in the Browser
BelTech 2017 - Building Quality in the Browser
 
Sculpin
SculpinSculpin
Sculpin
 
Here Comes Kentico 8
Here Comes Kentico 8Here Comes Kentico 8
Here Comes Kentico 8
 
Headless WordPress and the future is here
Headless WordPress and the future is hereHeadless WordPress and the future is here
Headless WordPress and the future is here
 
Drupal's competition
Drupal's competitionDrupal's competition
Drupal's competition
 
Lessons Learnt from Backend Systems Development
Lessons Learnt from Backend Systems DevelopmentLessons Learnt from Backend Systems Development
Lessons Learnt from Backend Systems Development
 
Components vs Frameworks
Components vs FrameworksComponents vs Frameworks
Components vs Frameworks
 
Constinuous Integration
Constinuous IntegrationConstinuous Integration
Constinuous Integration
 

Similar to How we use Silverstripe CMS to deliver bilingual and accessible websites

Quarterly Technology Briefing, Manchester, UK September 2013
Quarterly Technology Briefing, Manchester, UK September 2013Quarterly Technology Briefing, Manchester, UK September 2013
Quarterly Technology Briefing, Manchester, UK September 2013Thoughtworks
 
Lightning talk how to edit the Silverstripe CMS docs
Lightning talk how to edit the Silverstripe CMS docsLightning talk how to edit the Silverstripe CMS docs
Lightning talk how to edit the Silverstripe CMS docsMichaelPritchard21
 
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...Thoughtworks
 
Go Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid InnovationGo Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid InnovationFred George
 
Orchestrating microservices like a ninja
Orchestrating microservices like a ninjaOrchestrating microservices like a ninja
Orchestrating microservices like a ninjaApigee | Google Cloud
 
18.03.2022 api force presentation template
18.03.2022 api force presentation template18.03.2022 api force presentation template
18.03.2022 api force presentation templateAmirKhan194084
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2bdemchak
 
Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Peter Gfader
 
Unevenly Distributed
Unevenly DistributedUnevenly Distributed
Unevenly DistributedC4Media
 
UI Engineering Introduction
UI Engineering IntroductionUI Engineering Introduction
UI Engineering IntroductionHsuan Fu Lien
 
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...RightScale
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyESUG
 
SHARE Conference DevOps Sessions & "Mobile to Mainframe DevOps for Dummies" ...
SHARE Conference DevOps Sessions & "Mobile to Mainframe DevOps for Dummies"  ...SHARE Conference DevOps Sessions & "Mobile to Mainframe DevOps for Dummies"  ...
SHARE Conference DevOps Sessions & "Mobile to Mainframe DevOps for Dummies" ...IBM z Systems
 
Angular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entrepriseAngular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entrepriseLINAGORA
 
Software Development & Architecture @ LinkedIn
Software Development & Architecture @ LinkedInSoftware Development & Architecture @ LinkedIn
Software Development & Architecture @ LinkedInC4Media
 
Docker adventures in Continuous Delivery - Alex Vranceanu
Docker adventures in Continuous Delivery - Alex VranceanuDocker adventures in Continuous Delivery - Alex Vranceanu
Docker adventures in Continuous Delivery - Alex VranceanuITCamp
 
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)Micro Focus
 
Tales of modernizing trello's web stack
Tales of modernizing trello's web stackTales of modernizing trello's web stack
Tales of modernizing trello's web stackVincent Kok
 
Migrating liverpool.gov.uk to Umbraco
Migrating liverpool.gov.uk to UmbracoMigrating liverpool.gov.uk to Umbraco
Migrating liverpool.gov.uk to Umbracomonosnow
 
Cincom Roadmap ESUG2014
Cincom Roadmap ESUG2014Cincom Roadmap ESUG2014
Cincom Roadmap ESUG2014ESUG
 

Similar to How we use Silverstripe CMS to deliver bilingual and accessible websites (20)

Quarterly Technology Briefing, Manchester, UK September 2013
Quarterly Technology Briefing, Manchester, UK September 2013Quarterly Technology Briefing, Manchester, UK September 2013
Quarterly Technology Briefing, Manchester, UK September 2013
 
Lightning talk how to edit the Silverstripe CMS docs
Lightning talk how to edit the Silverstripe CMS docsLightning talk how to edit the Silverstripe CMS docs
Lightning talk how to edit the Silverstripe CMS docs
 
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
QTB Technology Lab - The Travel Domain, Beyond SQL, the Cloud, and more...
 
Go Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid InnovationGo Faster - Remove Inhibitors to Rapid Innovation
Go Faster - Remove Inhibitors to Rapid Innovation
 
Orchestrating microservices like a ninja
Orchestrating microservices like a ninjaOrchestrating microservices like a ninja
Orchestrating microservices like a ninja
 
18.03.2022 api force presentation template
18.03.2022 api force presentation template18.03.2022 api force presentation template
18.03.2022 api force presentation template
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...
 
Unevenly Distributed
Unevenly DistributedUnevenly Distributed
Unevenly Distributed
 
UI Engineering Introduction
UI Engineering IntroductionUI Engineering Introduction
UI Engineering Introduction
 
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...
Integrating RightScale, Windows, and .NET for Fun and Profit - RightScale Com...
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
 
SHARE Conference DevOps Sessions & "Mobile to Mainframe DevOps for Dummies" ...
SHARE Conference DevOps Sessions & "Mobile to Mainframe DevOps for Dummies"  ...SHARE Conference DevOps Sessions & "Mobile to Mainframe DevOps for Dummies"  ...
SHARE Conference DevOps Sessions & "Mobile to Mainframe DevOps for Dummies" ...
 
Angular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entrepriseAngular v2 et plus : le futur du développement d'applications en entreprise
Angular v2 et plus : le futur du développement d'applications en entreprise
 
Software Development & Architecture @ LinkedIn
Software Development & Architecture @ LinkedInSoftware Development & Architecture @ LinkedIn
Software Development & Architecture @ LinkedIn
 
Docker adventures in Continuous Delivery - Alex Vranceanu
Docker adventures in Continuous Delivery - Alex VranceanuDocker adventures in Continuous Delivery - Alex Vranceanu
Docker adventures in Continuous Delivery - Alex Vranceanu
 
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)
Developer Conference 1.5 - Making the Move to Visual COBOL (Transvive)
 
Tales of modernizing trello's web stack
Tales of modernizing trello's web stackTales of modernizing trello's web stack
Tales of modernizing trello's web stack
 
Migrating liverpool.gov.uk to Umbraco
Migrating liverpool.gov.uk to UmbracoMigrating liverpool.gov.uk to Umbraco
Migrating liverpool.gov.uk to Umbraco
 
Cincom Roadmap ESUG2014
Cincom Roadmap ESUG2014Cincom Roadmap ESUG2014
Cincom Roadmap ESUG2014
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

How we use Silverstripe CMS to deliver bilingual and accessible websites

Editor's Notes

  1. Intro, about me and the talk. This is my experience of websites using Sliverstripe CMS. Making them bilingual and accessible.
  2. I’ve been interested in software form a young age, when my uncle bought me a ZX Spectrum. I didn’t actually get into software development until much later, only 3 years ago, I installed a software package called REDCap and decided it would be good to learn how to write some code to access the APIs. I’ve worked at a public sector company since July 2021, just are the start of the Covid pandemic, so this is been an interesting year. So I’ve been a professional software developer for 1 year. I Wanted to share the first programmer I had ever written in Spectrum BASIC on that ZX spectrum. This programme would print “Hello” down the screen. There are two items to point out about this code. it is a continuous loop, the other interesting information is there is no world as this programme was written 10 years before the Internet was invented by sir Tim Berners-Lee
  3. My talks covers four areas, as a public sector organisation in Wales, we have to comply with Welsh government legislation around Bilingual content and we are required to aim for Web Content Accessibility Guidelines (WCAG) 2.1 AA standards. This 30 minute talk will go over the tools we use and how we use them, but it will not deep dive how to fix individual problems. More resources will be supplied at the end with details on how to gen up on accessibility in particular. This is how we do it, how we have built up a base site with accessibility built in.
  4. Our tech stack is nothing unusual to the participants of StripeCon EU, we use a LAMP stack with either Silverstripe CMS or Laravel. I wanted to quickly show this as we do not use anything special on out site to make them bilingual and accessible.
  5. Responsive design is also important, but my talk is not about responsive design…
  6. Mobile first frameworks like bootstrap make responsive design easy, but we have to still check for accessibility ourselves. They can help in many of the areas of accessibility, such as the ability to navigate using a keyboard.
  7. All our sites have to comply with GDPR too, they all display a warning about cookies and give the option to not be tracked.
  8. English and Welsh are of equal standing in Wales, all our website must be bilingual and Welsh must be equal to English. We have a local selector to switch between English and Welsh. To help us we have a Welsh translation department, who can translate the English from the website into Welsh. Silverstripe CMS makes it easy for page content to be translated using the fluent plugin. We use the t translation module built into Silverstripe CMS for Elements in forms or Silverstripe templates
  9. Fluent plugin is available from tractorcow-farm. Require using composer Add yml file (if you want a default local) dev/build Add localisation under admin settings create a localisation for each language We can then switch each page, This will be changed following the talk yesterday, to the yml file. --- Name: myfluentconfiglocal After: '#fluentconfig' ---   TractorCow\Fluent\Model\Locale:   default_records:     en:       Title: English       Locale: en_GB       URLSegment: en       IsGlobalDefault: 1     cy:       Title: Welsh       Locale: cy_GB       URLSegment: cy
  10. For controllers with Form which are displayed on pages we use the _t function
  11. For silver stripe views the <%tsyntax is used. For Silverstripe templates the <%t … %> template is wrapped and slightly different templating format Once ready we can run the i18nTextCollectorTask to generate the en.yml file. New content can easily be identified, using git, as they are new lines, which can be sent for translation.
  12. Once ready we can run the i18nTextCollectorTask to generate the en.yml file. New content can easily be identified, using git, as they are new lines, which can be sent for translation. php.DashboardPageControllerDASHBOARD You missed out the dot before DASHBAORD
  13. In the latest Welsh census 1/5th of the Welsh population advised they had some form of disability. This could be a temporary disability or impairment, like a broken arm or more long term. It is important that website are accessible to all, there are reports of people who had to do on line shopping being unable to checkout, as the checkout button wasn’t accessible.
  14. Here are some examples of what we do to make our sites accessible. Keyboard users can navigate every element on our site. This can start with pressing the tab key, on page load to jump to the main content. Titles can also be important to convey additional meaning. Html needs to be semantically correct H1 > h2 > h3 to allow navigation.
  15. Here are some examples of what we do to make our sites accessible. Visually impaired people can see focus rings around the content they are navigating Forms are clearly defined labels, to reduce confusion Labels have more meaning, send message instead of send. Each time a new site is developed the improvents are feed back into our base site, making it better and better starting point.
  16. We use tools to help us confirm our site are accessible. Lighthouse is built into google Chrome, the accessibility tools are powered by axe. Axe have their on plugin, which allows more detailed explanation of faults. WAVE also adds another perspective. Finally some of our site are spot checked by a third party.
  17. Lighthouse can be accessed from the inspect dev tools, right click the webpage and select inspect. and select the Lighthouse tab. Sometimes this is behind a drop down list. Tick the box for Accessibility and a report will be generated. It does take time and skill to go through this report and fix the issues. More details on this at the end.
  18. Install the Chrome plugin Access via the axe Dev Tools menu item in Developer tools (Inspection). Right click to see the inspect.
  19. WAVE is a plugin available for Chrome or Firefox.
  20. https://webaim.org/resources/contrastchecker/ Did you know the badges and pills used by bootstrap are not accessible? E.g. badge-info is
  21. Now it's time for a demonstration this does get a little bit technical and low level Who recognises this site? This site is really simple you would think the accessibility rating was high, so let's take a look.
  22. It's important to open the dev tools in an Incognito mode tab so other plugins are not affecting the accessibility rating of this site
  23. Some may be surprised to see an accessibility score of 80 out of 100. The next thing we need to do is have a look to see what is causing the drop in accessibility, this is just a case of scrolling down and viewing the items that have been highlighted
  24. As we can see there are two items one to do with contrast background or foreground colours do not have sufficient contrast ratio . Best practises uses scalable no is used in meta name view port. The next thing to do is to expand them one at a time and inspect the elements to find out how we can improve.
  25. Expanding the background and foreground colours do not have a sufficient ratio drop down box . We can see the failing elements are inside the footer of the site these are a kind of bread crumb Click the A tag to go to the source of that element and inspect the background and colour these can then be put into the contrast colour checker.
  26. We can see the colour of the eight acts in the footer is #999 . The footer background is #ededed. These figures can be put into the contrast colour checker and adjusted to find a suitable colour that passes accessibility tests.
  27. https://webaim.org/resources/contrastchecker/
  28. The slider for either the font colour or the background colour can be changed
  29. Now we know that a colour of #6b6b6b is within the contrast ratio required the CSS can be updated
  30. We are now up to 85% accessibility Scroll down and have a look at the next item on the list
  31. This is a HTML element on the meta tag we can look at it and remove uses scalable no Open page.SS
  32. Open Page.ss The user scalable zero which is the same as users scalable no, this can be removed and then we can run lighthouse one more time
  33. We have reached 100% score in Lighthouse. This will be An improvement for people with low vision and people who need to scale the website . Other people will see no difference
  34. There are more items which need to be checked manually it's a case of scrolling down and working through these one at a time I would highly recommend people open dev tools on their websites and take a look to see what their lighthouse score is. Make a change one step at a time. Changes to footers and headers effect every page. Making our websites more accessible is going to be better for everybody
  35. Tim advised yesterday on how to improve site SEO by improving performance, I hope my talk today will further help improve SEO and help visitor to your sites have a better experience. Like Tims talk yesterday there are some low hanging fruit. Contrast is an easy item to check. Improvements to headers and footers effect every page on the site.
  36. Questions?