SlideShare una empresa de Scribd logo
1 de 68
Descargar para leer sin conexión
Implementing Accessibility in
Liferay 6.1
Julio Camarero
Liferay Core Developer, WCM Lead
Accessibility?




  Accessibility is the degree to which a product, device,
          service, or environment is available to
                as many people as possible
.. some numbers ...
                                                24,819,000 (9.9%)
Almost 1 out of 5 people
suffers some disability
                                                             24,117,000 (9.6%)
(half of them are can be
considered severe)




                           202,860,000 (80.6%)




                             with a disability, not severe
 48.9 million people
                             with a severe disability
 in the USA
                              with no disability
... some numbers ...




        birth             accident   old   other     No
                disease              age           specified
... some numbers ...




        birth             accident   old   other     No
                disease              age           specified




                          77.4%
... some numbers ...




                     listen
       walk or see            talk personal capacity   mental
        move                         care    to lear
.. and what about the web?


 Inclusive practice of making websites usable by people of
                   all abilities and disabilities.



   When sites are correctly designed, developed and
      edited, all users can have equal access to
              information and functionality
Why ?
Number of potential users increases
c
es...
  m e u n it   i
sa    rt
 oppo
Better user
experience
Motivation for accessibility
• The number of potential users increases
• Let’s give the same opportunities to everyone
• Technical Advantages:
   • SEO improvement

   • Usability

• Legal requirement (section 508)
let me show you
 one example...
Users who will take advantage...
• Disabled users and ...
   • old people
   • people with slow internet connections
   • people with old computers or old software
   • unexperienced users in the internet
   • people using a mobile phone
   • people who don’t understand well the website language
   • Robots! (search engines...)
Technology is changing the game...
Technology is changing the game...




     x
Technology is changing the game...




     x
How do disabled people use the web?
How do disabled people use the web?

Resize the page
How do disabled people use the web?

Resize the page


                                 change
                                contrast,
                              remove css
How do disabled people use the web?

Resize the page


                                 change
                                contrast,
                              remove css

 screen
readers
How do disabled people use the web?
How do disabled people use the web?

Use the keyboard
How do disabled people use the web?

Use the keyboard

                            Specific
                            devices for
                            interacting with
                            focused items
is my website
 accessible?
Validation and Certifications
• There are standards to validate a site is accessible
     (WCAG1.0, WCAG2.0, Section 508, RGAA...)




• There are automatic validators that can help you detect
     commons errors but they can’t certificate accessibility




• There are entities that certificate the Accessibility of your
     website regarding a standard
WCAG2.0 (by W3C)
• Guidelines independent of the technology (flash, html...)

• They provide “enough” successful criterion (but not
    necessary) so that your website is accessible.

• 3 levels of conformity: A, AA y AAA.

• Based on 4 principles:
   • Perceptible, Operable, Understandable, Robust
ARIA
• Recommended technique by WCAG2.0
• Provides semantic information to our HTML to give more
    context to users using a screen-reader (menu,
    progressbar, popup...)
• Already applied in most of our components
... and is Liferay
   accessible?
Yes, but keep in mind...


              Your Content   Liferay
                  35%         15%



                     Your theme
                        50%
Liferay Validation
• Our Goal
  • Validate AA level of WCAG2.0 in all the portal
  • Validate HTML5
• Where are we right now?
  • We guarantee AA Level para non-authenticated users
      (covered by EE support)

  • Around 80% AA Level for signed in users collaborating and
      creating content

  • Around 70% AA Level for administration tasks
...and we keep improving
• We have worked hard to validate WCAG2.0:
   • apply ARIA
   • improve our markup
   • more details in my blog:
       http://www.liferay.com/es/web/julio.camarero/blog

• Partners and community contributors
   • Liferay is open source , any part of the code can be modified,
       improved and CONTRIBUTED!! :)

   • Problem notifications and suggestions in forums/JIRA
• Adding accessibility tests to our automated QA tests
Our goal
• All Liferay Portlets and Themes should be
    accessible out of the box



• Provide tools to make it easier to create
    accessible sites using Liferay.



• Even more, make it hard to make your website
    non accessible if you use the tools we
    provide.
Are there any Websites
 built with Liferay with
certified Accessibility?
Accessible Websites




http://www.liferay.com/es/community/wiki/-/wiki/Main/Accessible+Liferay+Websites
what about
WCAG2.0?
  Level A and Level AA
Perceptible
   Content must be perceptible by all users (visually,
     by sound...)
Perceptible
   Content must be perceptible by all users (visually,
     by sound...)



   Information can not be only visual!
     • information base on colors or css
     • images without alt attribute (alt=””)
     • multimedia files without transcription
Additional and Hidden text
• Use CSS classes to hide/show elements
    dynamically.


  • aui-helper-hidden: Hides the element to all
      users


  • aui-helper-hidden-accessible: Hides an
      element visually but it is still found and ready
      by screen readers
Operable
   Content must be operable by users with differnet
     devices (mouse, keyboard...)




                    All these are implemented in our classic theme! :)
Operable
   Content must be operable by users with differnet
     devices (mouse, keyboard...)



  Avoid using mouse-only events in javascript:
    onMouseOver, onDoubleClick, onRightClick... (onclick is ok)

    • navigation menus
    • trapped users!
    • Users with a keyboard should be able to reach any level of
        the navigation menus


                            All these are implemented in our classic theme! :)
Use ckEditor
• WCAG2.0 compliant
    <liferay-ui:input-editor />


• Provides a good user experience in
    most screen readers.
Understandable
   Users must be able to understand the content,
     how it is organized and how to interact with it.
Understandable
   Users must be able to understand the content,
     how it is organized and how to interact with it.



    Show in a simple and consistent way to the user
      where she is and how to get to other places
     • menus always in the same position
     • use breadcrumbs
     • link to the begining of content
     • avoid weird things :S
Robust
   Content must be properly structured to allow user
     applications understand it.
Robust
   Content must be properly structured to allow user
     applications understand it.




   • Avoid tables for layouts
   • use the proper markup for tables when organizing data
   • use the proper markup for forms
   • apply ARIA to js components
Use Liferay Components
•   Maintained and improved by Liferay incorporating feedback
      from millions of users
•   Alloy Forms
     •   Visual consistency with the portal

     •   Tested to generate accessible forms: <aui:form>, <aui:fieldset>,
           <aui:input>, <aui:select>, <aui:a> ...

     •   <aui:column> and <aui:layout> to achieve “table” layout using only css

•   Alloy UI Widgets (http://alloyui.liferay.com)
     •   valid markup

     •   using ARIA

     •   work using the keyboard (without mouse)
Write Semantic Html
• A link should be a link (<a>)
• Headers should go in order (<h1>, <h2>, <h3>...)
• A list should be a list (<li>)

• Html 5 provides a lot of new semantic tags: header,
     section, footer...


• etc...
Html validation
• We have some tricks which improve performance but
     don’t validate html.
• It can be enabled in the configuration (portal.properties)


  com.liferay.portal.servlet.filters.validhtml.ValidHtmlFilter=true
Some Advices
Common
mistakes
Specific-device Events
• Avoid using javascript events which only work with
    some devices:
   • onMouseOver, onMouseOut, onMouseUp, onMouseDown,
       onDoubleClick, onRightClick...
      • if you use them, provide alternative for other devices (at least the
          keyboard but only consider touch mobile devices)

   • onClick works with the keyboard (enter)


• Tablets and mobile phones won’t work with mouse
    events (although they have their own events:
    touchStart, touchMove... etc)
How can I test if my
    website is
   accessible?
How to test 90% of user experiences


  1. Is it easy to use?

  Would my mother be able to use
  it by herself?




 25%
How to test 90% of user experiences


      2. Resize the text, disable
      CSS and Images

      can it still be used?




      50%
How to test 90% of user experiences


            3. Does it work without the
            mouse?




               75%
How to test 90% of user experiences


                     4. And if I blind my eyes?

                     using a screenreader...




                                         90%
How to test 90% of user experiences

1. Is it easy to use?
      Would my mother be able to use it by herself?


2. Resize the text, disable CSS and images. Can it still be
     used?


3. Does it work without the mouse?


4. and if I blind my eyes? Using a screen-reader
Conclusions
• Accessibility is becoming more and more a key element
    in the success of a project

• Liferay provides tools, examples and guidelines to create
    accessible websites...
    we don’t want to leave anybody out!

• It is important to test your developments. Technology is
    changing and we are all learning about web
    accessibility.
Thank you!

julio.camarero@liferay.com   @liferay
                             @juliocamarero
Images Used (Creative Commons)
•   Population: http://www.flickr.com/photos/anirudhkoul/3786725982/sizes/l/
•   wall: http://www.flickr.com/photos/adrianismyname/6207758517/sizes/l/
•   woman: http://www.flickr.com/photos/adonis_pulatus/5881940531/sizes/l/
•   wheelchair: http://www.flickr.com/photos/yourdon/2819627118/sizes/l/
•   mother stroller: http://www.flickr.com/photos/paul-w-locke/6849441063/sizes/l/
•   wheelchair injured: http://www.flickr.com/photos/elizabethclaireoleary/4815049279/sizes/l/
•   Elevator: http://www.flickr.com/photos/25103209@N06/2625260355/sizes/l/
•   crutches: http://www.flickr.com/photos/repose/4930951225/sizes/l/
•   biking: http://www.flickr.com/photos/cityeyes/4005533058/sizes/z/

Más contenido relacionado

Similar a Implementing Acessibility in Liferay 6.1

How to engineer accessible websites
How to engineer accessible websitesHow to engineer accessible websites
How to engineer accessible websitesRachel Cherry
 
How to create accessible websites - Web Accessibility Summit
How to create accessible websites - Web Accessibility SummitHow to create accessible websites - Web Accessibility Summit
How to create accessible websites - Web Accessibility SummitRachel Cherry
 
Images For Everyone
Images For EveryoneImages For Everyone
Images For EveryoneCloudinary
 
Web accessibility is everyone's job
Web accessibility is everyone's jobWeb accessibility is everyone's job
Web accessibility is everyone's jobRemya Ramesh
 
Web browsers and browser version support
Web browsers and browser version supportWeb browsers and browser version support
Web browsers and browser version supportIan Brennan
 
Don't Panic! How to perform an accessibility evaluation with limited resources
Don't Panic! How to perform an accessibility evaluation with limited resourcesDon't Panic! How to perform an accessibility evaluation with limited resources
Don't Panic! How to perform an accessibility evaluation with limited resourcesMichael Ryan
 
FITC - 2012-04-23 - Responsive Web Design
FITC - 2012-04-23 - Responsive Web DesignFITC - 2012-04-23 - Responsive Web Design
FITC - 2012-04-23 - Responsive Web DesignFrédéric Harper
 
How to create accessible websites - WordCamp Boston
How to create accessible websites - WordCamp BostonHow to create accessible websites - WordCamp Boston
How to create accessible websites - WordCamp BostonRachel Cherry
 
Sara Tabor: Testing For Accessibility - ARIA Ready For It?
Sara Tabor: Testing For Accessibility - ARIA Ready For It?Sara Tabor: Testing For Accessibility - ARIA Ready For It?
Sara Tabor: Testing For Accessibility - ARIA Ready For It?Anna Royzman
 
Introduction to accessibility
Introduction to accessibilityIntroduction to accessibility
Introduction to accessibilityJoseph McLarty
 
Accessibility - A feature you can build
Accessibility - A feature you can buildAccessibility - A feature you can build
Accessibility - A feature you can buildMonika Piotrowicz
 
Web Accessibility - A feature you can build
Web Accessibility - A feature you can buildWeb Accessibility - A feature you can build
Web Accessibility - A feature you can buildMonika Piotrowicz
 
Is the mobile web enabled or disabled by design?
Is the mobile web enabled or disabled by design?Is the mobile web enabled or disabled by design?
Is the mobile web enabled or disabled by design?Henny Swan
 
Accessible UIs with jQuery and Infusion
Accessible UIs with jQuery and InfusionAccessible UIs with jQuery and Infusion
Accessible UIs with jQuery and Infusioncolinbdclark
 
Developing an Accessible Web
Developing an Accessible WebDeveloping an Accessible Web
Developing an Accessible Webgreenideas
 
Basics of creating accessible code for websites
Basics of creating accessible code for websitesBasics of creating accessible code for websites
Basics of creating accessible code for websiteselianna james
 
Digital accessibility intro-a11ycle_2020-01-15
Digital accessibility intro-a11ycle_2020-01-15Digital accessibility intro-a11ycle_2020-01-15
Digital accessibility intro-a11ycle_2020-01-15Joshua Randall
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web DesignMike Wilcox
 

Similar a Implementing Acessibility in Liferay 6.1 (20)

How to engineer accessible websites
How to engineer accessible websitesHow to engineer accessible websites
How to engineer accessible websites
 
How to create accessible websites - Web Accessibility Summit
How to create accessible websites - Web Accessibility SummitHow to create accessible websites - Web Accessibility Summit
How to create accessible websites - Web Accessibility Summit
 
Images For Everyone
Images For EveryoneImages For Everyone
Images For Everyone
 
Web accessibility is everyone's job
Web accessibility is everyone's jobWeb accessibility is everyone's job
Web accessibility is everyone's job
 
Web browsers and browser version support
Web browsers and browser version supportWeb browsers and browser version support
Web browsers and browser version support
 
Don't Panic! How to perform an accessibility evaluation with limited resources
Don't Panic! How to perform an accessibility evaluation with limited resourcesDon't Panic! How to perform an accessibility evaluation with limited resources
Don't Panic! How to perform an accessibility evaluation with limited resources
 
FITC - 2012-04-23 - Responsive Web Design
FITC - 2012-04-23 - Responsive Web DesignFITC - 2012-04-23 - Responsive Web Design
FITC - 2012-04-23 - Responsive Web Design
 
How to create accessible websites - WordCamp Boston
How to create accessible websites - WordCamp BostonHow to create accessible websites - WordCamp Boston
How to create accessible websites - WordCamp Boston
 
Sara Tabor: Testing For Accessibility - ARIA Ready For It?
Sara Tabor: Testing For Accessibility - ARIA Ready For It?Sara Tabor: Testing For Accessibility - ARIA Ready For It?
Sara Tabor: Testing For Accessibility - ARIA Ready For It?
 
Test your website for Web Accessibility
Test your website for  Web AccessibilityTest your website for  Web Accessibility
Test your website for Web Accessibility
 
Introduction to accessibility
Introduction to accessibilityIntroduction to accessibility
Introduction to accessibility
 
Accessibility - A feature you can build
Accessibility - A feature you can buildAccessibility - A feature you can build
Accessibility - A feature you can build
 
Web Accessibility - A feature you can build
Web Accessibility - A feature you can buildWeb Accessibility - A feature you can build
Web Accessibility - A feature you can build
 
Is the mobile web enabled or disabled by design?
Is the mobile web enabled or disabled by design?Is the mobile web enabled or disabled by design?
Is the mobile web enabled or disabled by design?
 
Accessible UIs with jQuery and Infusion
Accessible UIs with jQuery and InfusionAccessible UIs with jQuery and Infusion
Accessible UIs with jQuery and Infusion
 
Developing an Accessible Web
Developing an Accessible WebDeveloping an Accessible Web
Developing an Accessible Web
 
Basics of creating accessible code for websites
Basics of creating accessible code for websitesBasics of creating accessible code for websites
Basics of creating accessible code for websites
 
Digital accessibility intro-a11ycle_2020-01-15
Digital accessibility intro-a11ycle_2020-01-15Digital accessibility intro-a11ycle_2020-01-15
Digital accessibility intro-a11ycle_2020-01-15
 
Accessibility part 2
Accessibility part 2Accessibility part 2
Accessibility part 2
 
Great Responsive-ability Web Design
Great Responsive-ability Web DesignGreat Responsive-ability Web Design
Great Responsive-ability Web Design
 

Más de Julio Camarero

Make the most of Audience Targeting 2.0
Make the most of Audience Targeting 2.0Make the most of Audience Targeting 2.0
Make the most of Audience Targeting 2.0Julio Camarero
 
Reaching the right audience
Reaching the right audienceReaching the right audience
Reaching the right audienceJulio Camarero
 
How to Extend Audience Targeting (Liferay 6.2)
How to Extend Audience Targeting (Liferay 6.2)How to Extend Audience Targeting (Liferay 6.2)
How to Extend Audience Targeting (Liferay 6.2)Julio Camarero
 
Leverage OSGI to create Extensible plugins for Liferay 6.2
Leverage OSGI to create Extensible plugins for Liferay 6.2Leverage OSGI to create Extensible plugins for Liferay 6.2
Leverage OSGI to create Extensible plugins for Liferay 6.2Julio Camarero
 
Introducing Audience Targeting for Liferay 6.2
Introducing Audience Targeting for Liferay 6.2Introducing Audience Targeting for Liferay 6.2
Introducing Audience Targeting for Liferay 6.2Julio Camarero
 
Optimizando Liferay 6.2 para dispositivos móviles
Optimizando Liferay 6.2 para dispositivos móvilesOptimizando Liferay 6.2 para dispositivos móviles
Optimizando Liferay 6.2 para dispositivos móvilesJulio Camarero
 
Taking Staging to a whole new level in Liferay 6.2
Taking Staging to a whole new level in Liferay 6.2Taking Staging to a whole new level in Liferay 6.2
Taking Staging to a whole new level in Liferay 6.2Julio Camarero
 
Using the Advanced Search Framework in Liferay 6.2
Using the Advanced Search Framework in Liferay 6.2Using the Advanced Search Framework in Liferay 6.2
Using the Advanced Search Framework in Liferay 6.2Julio Camarero
 
Using the Recycle Bin Framework in Liferay 6.2
Using the Recycle Bin Framework in Liferay 6.2Using the Recycle Bin Framework in Liferay 6.2
Using the Recycle Bin Framework in Liferay 6.2Julio Camarero
 
Liferay 6.2 y la norme UNE de accesibilidad
Liferay 6.2 y la norme UNE de accesibilidadLiferay 6.2 y la norme UNE de accesibilidad
Liferay 6.2 y la norme UNE de accesibilidadJulio Camarero
 
Facebook Integration with Liferay 6.2
Facebook Integration with Liferay 6.2Facebook Integration with Liferay 6.2
Facebook Integration with Liferay 6.2Julio Camarero
 
Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1Julio Camarero
 
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1Gestión eficiente de Múltiples sitios web sobre Liferay 6.1
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1Julio Camarero
 
Cómo construir portales para móviles y tables con Liferay 6.1
Cómo construir portales para móviles y tables con Liferay 6.1Cómo construir portales para móviles y tables con Liferay 6.1
Cómo construir portales para móviles y tables con Liferay 6.1Julio Camarero
 
Cómo hacer portales accesibles sobre Liferay 6.1
Cómo hacer portales accesibles sobre Liferay 6.1Cómo hacer portales accesibles sobre Liferay 6.1
Cómo hacer portales accesibles sobre Liferay 6.1Julio Camarero
 
What's coming in WCM for Liferay 6.2?
What's coming in WCM for Liferay 6.2?What's coming in WCM for Liferay 6.2?
What's coming in WCM for Liferay 6.2?Julio Camarero
 
Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!Julio Camarero
 

Más de Julio Camarero (18)

Make the most of Audience Targeting 2.0
Make the most of Audience Targeting 2.0Make the most of Audience Targeting 2.0
Make the most of Audience Targeting 2.0
 
Reaching the right audience
Reaching the right audienceReaching the right audience
Reaching the right audience
 
How to Extend Audience Targeting (Liferay 6.2)
How to Extend Audience Targeting (Liferay 6.2)How to Extend Audience Targeting (Liferay 6.2)
How to Extend Audience Targeting (Liferay 6.2)
 
Leverage OSGI to create Extensible plugins for Liferay 6.2
Leverage OSGI to create Extensible plugins for Liferay 6.2Leverage OSGI to create Extensible plugins for Liferay 6.2
Leverage OSGI to create Extensible plugins for Liferay 6.2
 
Introducing Audience Targeting for Liferay 6.2
Introducing Audience Targeting for Liferay 6.2Introducing Audience Targeting for Liferay 6.2
Introducing Audience Targeting for Liferay 6.2
 
Optimizando Liferay 6.2 para dispositivos móviles
Optimizando Liferay 6.2 para dispositivos móvilesOptimizando Liferay 6.2 para dispositivos móviles
Optimizando Liferay 6.2 para dispositivos móviles
 
Taking Staging to a whole new level in Liferay 6.2
Taking Staging to a whole new level in Liferay 6.2Taking Staging to a whole new level in Liferay 6.2
Taking Staging to a whole new level in Liferay 6.2
 
Using the Advanced Search Framework in Liferay 6.2
Using the Advanced Search Framework in Liferay 6.2Using the Advanced Search Framework in Liferay 6.2
Using the Advanced Search Framework in Liferay 6.2
 
Using the Recycle Bin Framework in Liferay 6.2
Using the Recycle Bin Framework in Liferay 6.2Using the Recycle Bin Framework in Liferay 6.2
Using the Recycle Bin Framework in Liferay 6.2
 
Liferay 6.2 y la norme UNE de accesibilidad
Liferay 6.2 y la norme UNE de accesibilidadLiferay 6.2 y la norme UNE de accesibilidad
Liferay 6.2 y la norme UNE de accesibilidad
 
Facebook Integration with Liferay 6.2
Facebook Integration with Liferay 6.2Facebook Integration with Liferay 6.2
Facebook Integration with Liferay 6.2
 
Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1
 
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1Gestión eficiente de Múltiples sitios web sobre Liferay 6.1
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1
 
Cómo construir portales para móviles y tables con Liferay 6.1
Cómo construir portales para móviles y tables con Liferay 6.1Cómo construir portales para móviles y tables con Liferay 6.1
Cómo construir portales para móviles y tables con Liferay 6.1
 
Cómo hacer portales accesibles sobre Liferay 6.1
Cómo hacer portales accesibles sobre Liferay 6.1Cómo hacer portales accesibles sobre Liferay 6.1
Cómo hacer portales accesibles sobre Liferay 6.1
 
What's coming in WCM for Liferay 6.2?
What's coming in WCM for Liferay 6.2?What's coming in WCM for Liferay 6.2?
What's coming in WCM for Liferay 6.2?
 
Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!
 
Disasters2.0
Disasters2.0Disasters2.0
Disasters2.0
 

Último

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 

Último (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

Implementing Acessibility in Liferay 6.1

  • 1. Implementing Accessibility in Liferay 6.1 Julio Camarero Liferay Core Developer, WCM Lead
  • 2. Accessibility? Accessibility is the degree to which a product, device, service, or environment is available to as many people as possible
  • 3. .. some numbers ... 24,819,000 (9.9%) Almost 1 out of 5 people suffers some disability 24,117,000 (9.6%) (half of them are can be considered severe) 202,860,000 (80.6%) with a disability, not severe 48.9 million people with a severe disability in the USA with no disability
  • 4. ... some numbers ... birth accident old other No disease age specified
  • 5. ... some numbers ... birth accident old other No disease age specified 77.4%
  • 6. ... some numbers ... listen walk or see talk personal capacity mental move care to lear
  • 7. .. and what about the web? Inclusive practice of making websites usable by people of all abilities and disabilities. When sites are correctly designed, developed and edited, all users can have equal access to information and functionality
  • 9. Number of potential users increases c
  • 10. es... m e u n it i sa rt oppo
  • 12. Motivation for accessibility • The number of potential users increases • Let’s give the same opportunities to everyone • Technical Advantages: • SEO improvement • Usability • Legal requirement (section 508)
  • 13. let me show you one example...
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Users who will take advantage... • Disabled users and ... • old people • people with slow internet connections • people with old computers or old software • unexperienced users in the internet • people using a mobile phone • people who don’t understand well the website language • Robots! (search engines...)
  • 21.
  • 22. Technology is changing the game...
  • 23. Technology is changing the game... x
  • 24. Technology is changing the game... x
  • 25. How do disabled people use the web?
  • 26. How do disabled people use the web? Resize the page
  • 27. How do disabled people use the web? Resize the page change contrast, remove css
  • 28. How do disabled people use the web? Resize the page change contrast, remove css screen readers
  • 29. How do disabled people use the web?
  • 30. How do disabled people use the web? Use the keyboard
  • 31. How do disabled people use the web? Use the keyboard Specific devices for interacting with focused items
  • 32. is my website accessible?
  • 33. Validation and Certifications • There are standards to validate a site is accessible (WCAG1.0, WCAG2.0, Section 508, RGAA...) • There are automatic validators that can help you detect commons errors but they can’t certificate accessibility • There are entities that certificate the Accessibility of your website regarding a standard
  • 34. WCAG2.0 (by W3C) • Guidelines independent of the technology (flash, html...) • They provide “enough” successful criterion (but not necessary) so that your website is accessible. • 3 levels of conformity: A, AA y AAA. • Based on 4 principles: • Perceptible, Operable, Understandable, Robust
  • 35. ARIA • Recommended technique by WCAG2.0 • Provides semantic information to our HTML to give more context to users using a screen-reader (menu, progressbar, popup...) • Already applied in most of our components
  • 36. ... and is Liferay accessible?
  • 37. Yes, but keep in mind... Your Content Liferay 35% 15% Your theme 50%
  • 38. Liferay Validation • Our Goal • Validate AA level of WCAG2.0 in all the portal • Validate HTML5 • Where are we right now? • We guarantee AA Level para non-authenticated users (covered by EE support) • Around 80% AA Level for signed in users collaborating and creating content • Around 70% AA Level for administration tasks
  • 39. ...and we keep improving • We have worked hard to validate WCAG2.0: • apply ARIA • improve our markup • more details in my blog: http://www.liferay.com/es/web/julio.camarero/blog • Partners and community contributors • Liferay is open source , any part of the code can be modified, improved and CONTRIBUTED!! :) • Problem notifications and suggestions in forums/JIRA • Adding accessibility tests to our automated QA tests
  • 40. Our goal • All Liferay Portlets and Themes should be accessible out of the box • Provide tools to make it easier to create accessible sites using Liferay. • Even more, make it hard to make your website non accessible if you use the tools we provide.
  • 41. Are there any Websites built with Liferay with certified Accessibility?
  • 43. what about WCAG2.0? Level A and Level AA
  • 44. Perceptible Content must be perceptible by all users (visually, by sound...)
  • 45. Perceptible Content must be perceptible by all users (visually, by sound...) Information can not be only visual! • information base on colors or css • images without alt attribute (alt=””) • multimedia files without transcription
  • 46. Additional and Hidden text • Use CSS classes to hide/show elements dynamically. • aui-helper-hidden: Hides the element to all users • aui-helper-hidden-accessible: Hides an element visually but it is still found and ready by screen readers
  • 47. Operable Content must be operable by users with differnet devices (mouse, keyboard...) All these are implemented in our classic theme! :)
  • 48. Operable Content must be operable by users with differnet devices (mouse, keyboard...) Avoid using mouse-only events in javascript: onMouseOver, onDoubleClick, onRightClick... (onclick is ok) • navigation menus • trapped users! • Users with a keyboard should be able to reach any level of the navigation menus All these are implemented in our classic theme! :)
  • 49. Use ckEditor • WCAG2.0 compliant <liferay-ui:input-editor /> • Provides a good user experience in most screen readers.
  • 50. Understandable Users must be able to understand the content, how it is organized and how to interact with it.
  • 51. Understandable Users must be able to understand the content, how it is organized and how to interact with it. Show in a simple and consistent way to the user where she is and how to get to other places • menus always in the same position • use breadcrumbs • link to the begining of content • avoid weird things :S
  • 52. Robust Content must be properly structured to allow user applications understand it.
  • 53. Robust Content must be properly structured to allow user applications understand it. • Avoid tables for layouts • use the proper markup for tables when organizing data • use the proper markup for forms • apply ARIA to js components
  • 54. Use Liferay Components • Maintained and improved by Liferay incorporating feedback from millions of users • Alloy Forms • Visual consistency with the portal • Tested to generate accessible forms: <aui:form>, <aui:fieldset>, <aui:input>, <aui:select>, <aui:a> ... • <aui:column> and <aui:layout> to achieve “table” layout using only css • Alloy UI Widgets (http://alloyui.liferay.com) • valid markup • using ARIA • work using the keyboard (without mouse)
  • 55. Write Semantic Html • A link should be a link (<a>) • Headers should go in order (<h1>, <h2>, <h3>...) • A list should be a list (<li>) • Html 5 provides a lot of new semantic tags: header, section, footer... • etc...
  • 56. Html validation • We have some tricks which improve performance but don’t validate html. • It can be enabled in the configuration (portal.properties) com.liferay.portal.servlet.filters.validhtml.ValidHtmlFilter=true
  • 59. Specific-device Events • Avoid using javascript events which only work with some devices: • onMouseOver, onMouseOut, onMouseUp, onMouseDown, onDoubleClick, onRightClick... • if you use them, provide alternative for other devices (at least the keyboard but only consider touch mobile devices) • onClick works with the keyboard (enter) • Tablets and mobile phones won’t work with mouse events (although they have their own events: touchStart, touchMove... etc)
  • 60. How can I test if my website is accessible?
  • 61. How to test 90% of user experiences 1. Is it easy to use? Would my mother be able to use it by herself? 25%
  • 62. How to test 90% of user experiences 2. Resize the text, disable CSS and Images can it still be used? 50%
  • 63. How to test 90% of user experiences 3. Does it work without the mouse? 75%
  • 64. How to test 90% of user experiences 4. And if I blind my eyes? using a screenreader... 90%
  • 65. How to test 90% of user experiences 1. Is it easy to use? Would my mother be able to use it by herself? 2. Resize the text, disable CSS and images. Can it still be used? 3. Does it work without the mouse? 4. and if I blind my eyes? Using a screen-reader
  • 66. Conclusions • Accessibility is becoming more and more a key element in the success of a project • Liferay provides tools, examples and guidelines to create accessible websites... we don’t want to leave anybody out! • It is important to test your developments. Technology is changing and we are all learning about web accessibility.
  • 67. Thank you! julio.camarero@liferay.com @liferay @juliocamarero
  • 68. Images Used (Creative Commons) • Population: http://www.flickr.com/photos/anirudhkoul/3786725982/sizes/l/ • wall: http://www.flickr.com/photos/adrianismyname/6207758517/sizes/l/ • woman: http://www.flickr.com/photos/adonis_pulatus/5881940531/sizes/l/ • wheelchair: http://www.flickr.com/photos/yourdon/2819627118/sizes/l/ • mother stroller: http://www.flickr.com/photos/paul-w-locke/6849441063/sizes/l/ • wheelchair injured: http://www.flickr.com/photos/elizabethclaireoleary/4815049279/sizes/l/ • Elevator: http://www.flickr.com/photos/25103209@N06/2625260355/sizes/l/ • crutches: http://www.flickr.com/photos/repose/4930951225/sizes/l/ • biking: http://www.flickr.com/photos/cityeyes/4005533058/sizes/z/