This document introduces the Accessible Rich Internet Applications (ARIA) specification. It discusses:
1) The need for ARIA to make complex web applications accessible to assistive technologies like screen readers, as traditional HTML elements may not adequately convey semantics.
2) Common interactive widgets and how ARIA attributes like role, state, and properties help expose their purpose and functionality.
3) Best practices for applying ARIA, including using native HTML where possible, and ensuring custom interactive elements are keyboard navigable and have accessible names.
The document provides examples of how to make common structures and widgets like buttons, menus, sliders accessible with ARIA. It emphasizes ARIA enhances, rather than replaces, traditional
The SharePoint & jQuery Guide - Updated 1/14/14Mark Rackley
Latest version of my SharePoint & jQuery slides from SharePoint Saturday St. Louis.
This session introduces people to using jQuery in SharePoint, how to get started, and some best practices.
The SharePoint & jQuery Guide - Updated 1/14/14Mark Rackley
Latest version of my SharePoint & jQuery slides from SharePoint Saturday St. Louis.
This session introduces people to using jQuery in SharePoint, how to get started, and some best practices.
Accessible UIs with jQuery and Infusioncolinbdclark
Overview of accessible Web development techniques with jQuery and Fluid's Infusion application framework. This talk gives developers a primer in DHTML accessibility techniques such as keyboard navigation and ARIA, while teaching them the strengths of Infusion for building large applications in JavaScript.
Presented at 2009 Ajax Experience, Boston.
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
Get frustrated by cross-browser incompatibility? Hate to develop application using JavaScript? jQuery is a powerful JavaScript library that can enhance your websites regardless of your background. jQuery is fast, lean, simple and hugely expandable, enabling you to build compelling web applications quickly and easily. In this session, we will start with a quick introduction of jQuery, illustrate what’s so good about jQuery, and demonstrate step by step how to develop jQuery Ajax application efficiently with database, web services, OData, NetFlix and ASP.NET MVC. Microsoft is now shipping, supporting, and contributing to jQuery, with ASP.NET and Visual Studio. New features which will be available in the next release of jQuery such as globalization, templating and data-linking will be introduced in the session as well.
I based my presention on the great "HTML5 for Web designers" by Jeremy Keith. Awesome and pragmatic book, the way I like it. Get your copy on: http://books.alistapart.com/products/html5-for-web-designers
jQuery Mobile: Progressive Enhancement with HTML5Todd Anderson
An overview of the jQuery Mobile framework and its foundation on Progressive Enhancement, as well as a few techniques on breaking a jQM application from the "traditional" browser.
Accessibility Hacks Wordcamp Manchester October 2018Graham Armfield
A bunch of small accessibility tweaks that WordPress theme builders can make to improve the accessibility of their products.
Contains a section on making SVG files accessible to screen reader users. And then some CSS techniques that can help trap accessibility gotchas when building themes, and for content authors when they preview posts or pages.
Advanced JQuery Mobile tutorial with Phonegap Rakesh Jha
Introduction to jQuery Mobile (jQM) - cont'd
Getting started with jQM
-Downloading the Most Recent Version of jQuery Mobile
-Proper Markup for Loading Framework JavaScript and CSS
jQuery Mobile Page Structure
-Page Anatomy: Header, Footer and Content Sections
-Header and Footer Toolbars
-Bundling Pages into a Single Document
-Navigating Between Pages
Applying Different Theme Swatches
Page Initialization Events
jQuery Mobile Page Components
Basic Content Formatting
List Views
-Ordered and Unordered Lists
-Inset Lists
-Lists with Links
-Nested Lists
-Lists with Icons or Thumbnail Images
-Split Button Lists
-List Dividers
-Search Filters
Form Controls - check boxes, slider, etc.
Dialogs
Buttons and Toolbars
-Ways to Make a Button
-Placing Icons on Your Buttons
-Inline Buttons
-Button Groupings
-Navigation Toolbars
Collapsible Content
Event Handling
-Responding to various events
-Page related events
Ajax & Interaction with server (REST & SOAP)
Deployment using Phonegap (e.g. Android)
Overview of Android Devt Environment
Best Practices in jQM
Hands-on exercises
Introduction to jQuery Mobile - Web Deliver for AllMarc Grabanski
Mobile web development frameworks are targeting the builtin web browsers on iPhone and Android only; however, jQuery mobile has in a different vision, one that will reach the largest distribution of phones possible. Leveraging the ways of progressive enhancement, your website can be viewed in raw HTML on old mobile phones and then enhanced with nice CSS styles across mobile platforms that have a decent CSS and JavaScript support. In this session, Grabanski gives you his list of reasons to use jQuery mobile, an overview of the framework and will draw from his experiences building websites on top of jQuery Mobile.
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018Patrick Lauke
Vanilla HTML is limiting and boring. Our clients demand highly engaging and interactive web experiences. And wouldn’t you know, with just a bit of HTML and JavaScript we can craft amazing custom controls, widgets and effects that go far beyond the confines of traditional static markup. But how can we ensure that these custom experiences are both understandable and usable for people with disabilities, and in particular those using assistive technologies such as screen readers?
In this talk, we will look at the basics of making some common custom-built components accessible - covering how browsers and assistive technologies interact, the limitations of HTML, and how ARIA can help make interactive experiences more accessible. In addition, we will explore some of the recent additions in ARIA 1.1, as well as some particular challenges when it comes to traditional ARIA patterns and assistive technologies on mobile/tablet/touch devices.
Evergreen slidedeck at https://patrickhlauke.github.io/aria/presentation/ / https://github.com/patrickhlauke/aria/
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...Patrick Lauke
Vanilla HTML is limiting and boring. Our clients demand highly engaging and interactive web experiences. And wouldn’t you know, with just a bit of HTML and JavaScript we can craft amazing custom controls, widgets and effects that go far beyond the confines of traditional static markup. But how can we ensure that these custom experiences are both understandable and usable for people with disabilities, and in particular those using assistive technologies such as screen readers?
In this talk, we will look at the basics of making some common custom-built components accessible - covering how browsers and assistive technologies interact, the limitations of HTML, and how ARIA can help make interactive experiences more accessible. In addition, we will explore some of the recent additions in ARIA 1.1, as well as some particular challenges when it comes to traditional ARIA patterns and assistive technologies on mobile/tablet/touch devices.
Evergreen slidedeck at https://patrickhlauke.github.io/aria/presentation/ / https://github.com/patrickhlauke/aria/
Accessible UIs with jQuery and Infusioncolinbdclark
Overview of accessible Web development techniques with jQuery and Fluid's Infusion application framework. This talk gives developers a primer in DHTML accessibility techniques such as keyboard navigation and ARIA, while teaching them the strengths of Infusion for building large applications in JavaScript.
Presented at 2009 Ajax Experience, Boston.
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
Get frustrated by cross-browser incompatibility? Hate to develop application using JavaScript? jQuery is a powerful JavaScript library that can enhance your websites regardless of your background. jQuery is fast, lean, simple and hugely expandable, enabling you to build compelling web applications quickly and easily. In this session, we will start with a quick introduction of jQuery, illustrate what’s so good about jQuery, and demonstrate step by step how to develop jQuery Ajax application efficiently with database, web services, OData, NetFlix and ASP.NET MVC. Microsoft is now shipping, supporting, and contributing to jQuery, with ASP.NET and Visual Studio. New features which will be available in the next release of jQuery such as globalization, templating and data-linking will be introduced in the session as well.
I based my presention on the great "HTML5 for Web designers" by Jeremy Keith. Awesome and pragmatic book, the way I like it. Get your copy on: http://books.alistapart.com/products/html5-for-web-designers
jQuery Mobile: Progressive Enhancement with HTML5Todd Anderson
An overview of the jQuery Mobile framework and its foundation on Progressive Enhancement, as well as a few techniques on breaking a jQM application from the "traditional" browser.
Accessibility Hacks Wordcamp Manchester October 2018Graham Armfield
A bunch of small accessibility tweaks that WordPress theme builders can make to improve the accessibility of their products.
Contains a section on making SVG files accessible to screen reader users. And then some CSS techniques that can help trap accessibility gotchas when building themes, and for content authors when they preview posts or pages.
Advanced JQuery Mobile tutorial with Phonegap Rakesh Jha
Introduction to jQuery Mobile (jQM) - cont'd
Getting started with jQM
-Downloading the Most Recent Version of jQuery Mobile
-Proper Markup for Loading Framework JavaScript and CSS
jQuery Mobile Page Structure
-Page Anatomy: Header, Footer and Content Sections
-Header and Footer Toolbars
-Bundling Pages into a Single Document
-Navigating Between Pages
Applying Different Theme Swatches
Page Initialization Events
jQuery Mobile Page Components
Basic Content Formatting
List Views
-Ordered and Unordered Lists
-Inset Lists
-Lists with Links
-Nested Lists
-Lists with Icons or Thumbnail Images
-Split Button Lists
-List Dividers
-Search Filters
Form Controls - check boxes, slider, etc.
Dialogs
Buttons and Toolbars
-Ways to Make a Button
-Placing Icons on Your Buttons
-Inline Buttons
-Button Groupings
-Navigation Toolbars
Collapsible Content
Event Handling
-Responding to various events
-Page related events
Ajax & Interaction with server (REST & SOAP)
Deployment using Phonegap (e.g. Android)
Overview of Android Devt Environment
Best Practices in jQM
Hands-on exercises
Introduction to jQuery Mobile - Web Deliver for AllMarc Grabanski
Mobile web development frameworks are targeting the builtin web browsers on iPhone and Android only; however, jQuery mobile has in a different vision, one that will reach the largest distribution of phones possible. Leveraging the ways of progressive enhancement, your website can be viewed in raw HTML on old mobile phones and then enhanced with nice CSS styles across mobile platforms that have a decent CSS and JavaScript support. In this session, Grabanski gives you his list of reasons to use jQuery mobile, an overview of the framework and will draw from his experiences building websites on top of jQuery Mobile.
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018Patrick Lauke
Vanilla HTML is limiting and boring. Our clients demand highly engaging and interactive web experiences. And wouldn’t you know, with just a bit of HTML and JavaScript we can craft amazing custom controls, widgets and effects that go far beyond the confines of traditional static markup. But how can we ensure that these custom experiences are both understandable and usable for people with disabilities, and in particular those using assistive technologies such as screen readers?
In this talk, we will look at the basics of making some common custom-built components accessible - covering how browsers and assistive technologies interact, the limitations of HTML, and how ARIA can help make interactive experiences more accessible. In addition, we will explore some of the recent additions in ARIA 1.1, as well as some particular challenges when it comes to traditional ARIA patterns and assistive technologies on mobile/tablet/touch devices.
Evergreen slidedeck at https://patrickhlauke.github.io/aria/presentation/ / https://github.com/patrickhlauke/aria/
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...Patrick Lauke
Vanilla HTML is limiting and boring. Our clients demand highly engaging and interactive web experiences. And wouldn’t you know, with just a bit of HTML and JavaScript we can craft amazing custom controls, widgets and effects that go far beyond the confines of traditional static markup. But how can we ensure that these custom experiences are both understandable and usable for people with disabilities, and in particular those using assistive technologies such as screen readers?
In this talk, we will look at the basics of making some common custom-built components accessible - covering how browsers and assistive technologies interact, the limitations of HTML, and how ARIA can help make interactive experiences more accessible. In addition, we will explore some of the recent additions in ARIA 1.1, as well as some particular challenges when it comes to traditional ARIA patterns and assistive technologies on mobile/tablet/touch devices.
Evergreen slidedeck at https://patrickhlauke.github.io/aria/presentation/ / https://github.com/patrickhlauke/aria/
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...Patrick Lauke
Vanilla HTML is limiting and boring. Our clients demand highly engaging and interactive web experiences. And wouldn’t you know, with just a bit of HTML and JavaScript we can craft amazing custom controls, widgets and effects that go far beyond the confines of traditional static markup. But how can we ensure that these custom experiences are both understandable and usable for people with disabilities, and in particular those using assistive technologies such as screen readers?
In this talk, we will look at the basics of making some common custom-built components accessible - covering how browsers and assistive technologies interact, the limitations of HTML, and how ARIA can help make interactive experiences more accessible. In addition, we will explore some of the recent additions in ARIA 1.1, as well as some particular challenges when it comes to traditional ARIA patterns and assistive technologies on mobile/tablet/touch devices.
Evergreen slidedeck at https://patrickhlauke.github.io/aria/presentation/ / https://github.com/patrickhlauke/aria/
Parallel session on 'An Introduction to WAI-ARIA' given by Dan Jackson, City University at the Institutional Web Management Workshop 2009, University of Essex, 28 - 30 July 2009.
See http://iwmw.ukoln.ac.uk/iwmw2009/sessions/jackson/ and
http://lanyrd.com/2009/iwmw09/srfxk/
HTML5: An Introduction To Next Generation Web DevelopmentTilak Joshi
This slideshow provides an introduction to HTML5. The target audience should have an understanding of web development, javascript, and previous standards of HTML. This tutorial contains a brief background on the language and an overview of the most popular features. Features covered include native audio/video support, geolocation, canvas, drawing API, web forms 2.0, drag and drop, and more. Also covered is backwards compatibility and section 508 compliance. Extras include polyfills, modernizr, and a brief introduction to CSS3. Enjoy!
Web access for users with disabilities is an important goal and challenging problem for web content developers and designers.
Essential open source api projects to ease the developing & testing for web accessibility.
An introduction to basic ARIA principles, for use in accessible web applications, especially with dynamic JavaScript. Topics include when to use ARIA, what it can accomplish, keyboard interaction patterns, AJAX, tabpanel widget, the accessibility inspector, and how ARIA emulates native applications, using the accessibility API.
My presentation at BarCamp Ghent 2 (nov 29, 2008), providing a quick overview of HTML 5. Includes two detailed cases, one about local storage APIs and one about the new video element. Check http://lensco.be for more.
In this session we'll review the checks you must go through before deciding whether to use an ARIA role or attribute, reveal our favorites, discuss the ones that need more user agent support, and show you how you can help us make it happen.
Making your jQuery Plugins More Accessiblecolinbdclark
An accessibility primer for jQuery developers. This presentation covered teaches how to make widgets and plugins navigable with the keyboard, as well as support for assistive technologies with ARIA.
Presented at the 2009 jQuery Conference in Boston.
Best And Worst Practices Building Ria with Adobe and MicrosoftJosh Holmes
Come listen to leading Rich Internet Applications (RIA) experts from Microsoft and Adobe discuss many of the best and worst practices when building RIAs. RIAs provide a similar user experience to traditional desktop applications combined with the ease of deployment of web/browser based applications. This produces a fair amount of confusion because there are a number of potentially conflicting practices depending on whether you approach your RIA as a desktop or a web application. This session dives into the definition of RIA and walks through the best and worst practices that have appeared over and over again. We will explore architectural patterns and practices such as state management, fault tolerance, service composition, communications protocols and message formats and goes into details on how RIAs can be developed using runtime environments such as Adobe AIR or Microsoft Silverlight.
For more read our blogs at
http://www.jamesward.com
http://www.joshholmes.com
Similar to WAI-ARIA - an introduction to accessible rich internet applications (1 day workshop) / Darmstadt / 22 January 2015 (20)
These (still) aren't the SCs you're looking for ... (mis)adventures in WCAG 2...Patrick Lauke
WCAG is supposed to give us a reasonably objective way of saying whether or not the sites we are building/auditing are "accessible" (to a particular baseline). However, they are only as useful as our understanding and interpretation of the guidelines' normative text. And, of course, it is not perfect - with some omissions, handwaving, and straight-up loopholes. So where does this leave developers and auditors?
In this talk - a reprise of a previous talk, now updated to cover new SCs from WCAG 2.2 - Patrick may not have all the answers, but he'll have a good rant around the subject anyway...
Pointer Events Working Group update / TPAC 2023 / Patrick H. LaukePatrick Lauke
Update about Pointer Events Level 3 work for the upcoming W3C Technical Plenary and Advisory Committee (TPAC) 2023 in Seville
https://www.youtube.com/watch?v=r0spZl1qaa0
https://w3c.github.io/pointerevents/
https://www.w3.org/TR/pointerevents/
https://www.w3.org/2023/09/TPAC/
https://patrickhlauke.github.io/touch/w3c_tpac2023_pewg/
Cross-posted from https://www.w3.org/2023/09/TPAC/group-updates.html#pointer-events
These aren't the SCs you're looking for ... (mis)adventures in WCAG 2.x inter...Patrick Lauke
WCAG is supposed to give us a reasonably objective way of saying whether or not the sites we are building/auditing are "accessible" (to a particular baseline). However, they are only as useful as our understanding and interpretation of the actual guidelines' normative text. And of course they're not perfect - with some omissions, handwaving, and straight up loopholes. So where does this leave developers and auditors? In this talk, Patrick may not have all the answers, but he'll have a good rant around the subject anyway...
These aren't the SCs you're looking for ... (mis)adventures in WCAG 2.x inter...Patrick Lauke
WCAG is supposed to give us a reasonably objective way of saying whether or not the sites we are building/auditing are "accessible" (to a particular baseline). However, they are only as useful as our understanding and interpretation of the actual guidelines' normative text. And of course they're not perfect - with some omissions, handwaving, and straight up loopholes. So where does this leave developers and auditors? In this talk, Patrick may not have all the answers, but he'll have a good rant around the subject anyway...
Too much accessibility - good intentions, badly implemented / Public Sector F...Patrick Lauke
HTML offers many features and attributes that can make your sites more accessible...but only if they're used wisely. Can there really be "too much accessibility"?
Audio recording: https://archive.org/details/Psf8August2007.PatrickH.Lauke-TooMuchAccessibilityGoodIntentions
Implementing Web Standards across the institution: trials and tribulations of...Patrick Lauke
Patrick H. Lauke - Implementing Web Standards across the institution: trials and tribulations of a redesign / Institutional Web Management Workshop IWMW / Birmingham / 28 July 2004
Geolinking content - experiments in connecting virtual and physical places / ...Patrick Lauke
Patrick H. Lauke: Geolinking content - experiments in connecting virtual and physical places / Institutional Web Management Workshop IWMW / York / 16 July 2007
All change for WCAG 2.0 - what you need to know about the new accessibility g...Patrick Lauke
Patrick H. Lauke: All change for WCAG 2.0 - what you need to know about the new accessibility guidelines / Manchester Digital Development Agency MDDA / 24 March 2009
Ian Lloyd/Patrick H. Lauke: Accessified - practical accessibility fixes any w...Patrick Lauke
Ian Lloyd/Patrick H. Lauke: Accessified - practical accessibility fixes any web developer can use / South By Southwest SXSW / Austin, Texas, 11 March 2007
Getting touchy - an introduction to touch and pointer events / Frontend NE / ...Patrick Lauke
Beyond smartphones and tablets, touchscreens are finding their way into laptops and even desktop computers. With hardware support for touch becoming increasingly ubiquitous, it's time to explore what new possibilities are available to developers. This session will cover the basics of handling touch events - from making sure simple single-tap interactions are as responsive as possible, all the way to examples of full multitouch, gesture-enabled elements.
Getting touchy - an introduction to touch and pointer events (1 day workshop)...Patrick Lauke
Beyond smartphones and tablets, touchscreens are finding their way into laptops and even desktop computers. With hardware support for touch becoming increasingly ubiquitous, it's time to explore what new possibilities are available to developers. This session will cover the basics of handling touch events - from making sure simple single-tap interactions are as responsive as possible, all the way to examples of full multitouch, gesture-enabled elements.
Getting touchy - an introduction to touch and pointer events / TPAC 2016 / Li...Patrick Lauke
Beyond smartphones and tablets, touchscreens are finding their way into laptops and even desktop computers. With hardware support for touch becoming increasingly ubiquitous, it's time to explore what new possibilities are available to developers. This session will cover the basics of handling touch events - from making sure simple single-tap interactions are as responsive as possible, all the way to examples of full multitouch, gesture-enabled elements.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
3. the problem
it's "easy" (in most cases) to make static web content accessible, but
nowadays the web strives to be an application platform
complex web applications require structures (e.g. interactive controls)
that go beyond what regular HTML offers (though some of this
introduced with HTML5 ... more on that later)
6. the problem
when building interactive controls, some (too many) web developers
go "all out" on the JavaScript/CSS, but ignore/sidestep regular HTML
controls completely
16. Operating systems and other platforms provide interfaces that expose
information about objects and events to assistive technologies
Java Accessibility API [JAPI], Microsoft Active Accessibility [MSAA], the Mac OS X
Accessibility Protocol [AXAPI], the Gnome Accessibility Toolkit (ATK) [ATK], and
IAccessible2 [IA2]
22. inspection tools
test using assistive technologies (e.g. screenreaders), however...
assistive technologies often use heuristics to repair
incomplete/broken accessibility API information - so we want to
check what's actually exposed to the OS/platform.
of course, browsers also have bugs/incomplete support...
39. what information does ARIA provide?
• role: what type of widget is this? (e.g. 'slider')
• state: what is its situation? (e.g. 'disabled')
• identity: what does it represent? (e.g. 'volume control')
this information is mapped by the browser to the operating system's
accessibility API and exposed to assistive technologies.
extra benefit: AT will (may) automatically announce widget-specific
hints and prompts (e.g. JAWS "... button - to activate, press SPACE
bar")
42. use ARIA to:
• make custom widgets understandable to assistive technology users
• programmatically indicate relationships between elements
• notify users of dynamic updates
• hide irrelevant visible content from assistive technology
• remediation of inaccessible content without completely recoding
43. ARIA roles and attributes: restrictions
• certain role s only make sense as part of a specific complex widget
• some aria-* attributes are global
• other aria-* attributes only make sense for particular role
• not all roles/attributes are supported/implemented consistently
everywhere
44. what ARIA doesn't do...
ARIA is not magic: it only changes how assistive technology
interprets content.
• make an element focusable
• provide keyboard events
• add properties
• change visible appearance
all of this is still your responsibility...
49. In principle ARIA works in all markup languages...but obviously that
depends on user agent/AT support. We'll focus on ARIA and HTML
Sidenote: Using ARIA to enhance SVG accessibility
55. If you can use a native HTML element [HTML5] or attribute with the
semantics and behaviour you require already built in, instead of re-
purposing an element and adding an ARIA role, state or property to
make it accessible, then do so.
“
56. 2. don't change native
semantics
unless you really have to / know what you're doing
57. don't do this:
<h1 role="button">heading button</h1>
do this instead:
<h1><span role="button">heading button</span></h1>
otherwise the heading is no longer a heading
(e.g. AT users can't navigate to it quickly)
58. don't do this:
<ul role="navigation">
<li><a href="...">...</a></li>
...
</ul>
do this instead:
<div role="navigation">
<ul>
<li><a href="...">...</a></li>
...
</ul>
</div>
otherwise the list is no longer a list
(e.g. AT won't announce "list with X items...")
60. All interactive widgets must be focusable and scripted to respond to
standard key strokes or key stroke combinations where applicable. [...]
Refer to the keyboard and structural navigation and design patterns
sections of the WAI-ARIA 1.0 Authoring Practices
86. why define landmarks?
• users of assistive technologies can more easily find areas of your
page/app
• AT keyboard controls to navigate to/between landmarks
• overview dialogs listing all landmarks (e.g. NVDA)
100. <span tabindex="0" role="checkbox"
aria-checked="false" class="...">Option</span>
<span tabindex="0" role="checkbox"
aria-checked="true" class="... checked">Option</span>
• add role="checkbox"
• make sure it's focusable
• add handling of SPACE
• add aria-checked and dynamically change its value
similar to toggle button, but announced differently by AT
104. <span tabindex="-1" role="radio"
aria-checked="false" class="...">Yes</span>
<span tabindex="0" role="radio"
aria-checked="true" class="... selected">No</span>
<span tabindex="-1" role="radio"
aria-checked="false" class="...">Maybe</span>
• add role="radio"
• only single tab-stop (as with native radio buttons)
• add handling of SPACE and cursor keys
• add aria-checked and dynamically change its value
• should be contained inside role="radiogroup" (cfr. <fieldset> )
110. <span tabindex="0" onmouseover="..." onfocus="..."
aria-describedby="tooltip" >...</span>
...
<span role="tooltip" id="tooltip">
this is the tooltip text</span>
example: tooltip
• add role="tooltip" (but seems to have no effect in AT)
• add aria-describedby pointing to id of tooltip
112. <span role="status" >
some form of status bar message...</span>
example: status bar
• add role="status" (varying support?)
• an example of a live region (more on this later)
114. <span role="alert" >
an alert message (no user interaction)</span>
example: alert
• add role="alert" (varying support?)
• an example of a live region (more on this later)
141. <!-- list with selectable items, expand/collapse, nesting -->
<div role="tree" >
<div role="treeitem" >...</div>
<div role="treeitem" >...</div>
<div role="treeitem" >...
<div role="group" >
<div role="treeitem" >...</div>
<div role="treeitem" >...</div>
</div>
</div>
...
</div>
example: Tree example (no ARIA used) / Tree example (with ARIA)
support very poor on mobile (as with many complex ARIA widgets)!
145. the basics
to be usable – all interactive controls must be:
• focusable
• in the logical tab order
• visible when they receive focus
• have a clear indication of focus
• operable with the keyboard
• no focus trap
• focus does not cause a change of context
146. problem with custom controls
• <div> , <span> etc. are not standard controls with defined behaviors
• not focusable with keyboard by default
147. solution
• ideally, use native focusable HTML controls ( <a> , <button> , etc.)
• or add tabindex="0" , appropriate role , and manually handle
keyboard interactions
148. complex widgets and focus
• generally, complex widgets (group of radio buttons, menus, listboxes,
tab lists) only have a single "tab stop"
• interactions within the widget handled programmatically
• TAB / SHIFT + TAB moves to the next widget, not to sub-components
149. keyboard navigation within widgets
• either: "roving" tabindex (only one element inside widget has
tabindex="0" , all others tabindex="-1" )
• or: focus remains on widget itself, denote active child element with
aria-activedescendant (and manually scroll into view, provide
highlight via CSS)
not all complex widgets lend themselves to "roving" tabindex - e.g.
role="combobox" needs aria-activedescendant , as actual focus
must remain inside the textbox.
W3C WAI-ARIA 1.0 Authoring Practices - 3.1.3. Keyboard Navigation
within Widgets
150. <!-- roving tabindex example -->
<div role="radiogroup">
<div role="radio" aria-checked="true" tabindex="0" ...> ...
<div role="radio" aria-checked="false" tabindex="-1" ...> ...
<div role="radio" aria-checked="false" tabindex="-1" ...> ...
</div>
only one radio button inside the group has focus
151. <!-- roving tabindex example -->
<div role="radiogroup">
<div role="radio" aria-checked="false" tabindex="-1" ...> ...
<div role="radio" aria-checked="true" tabindex="0" ...> ...
<div role="radio" aria-checked="false" tabindex="-1" ...> ...
</div>
changing the selection dynamically changes tabindex , aria-
checked and sets focus() on the newly selected radio button
153. <!-- activedescendant example -->
<div role="radiogroup" tabindex="0" aria-activedescendant="rad2" >
<div role="radio" id="rad1" aria-checked="false" ...> ...
<div role="radio" id="rad2" aria-checked="true" ...> ...
<div role="radio" id="rad3" aria-checked="false" ...> ...
</div>
changing the selection dynamically changes aria-
activedescendant on the radiogroup , aria-checked on the radio
button - but focus still remains only on the radiogroup
156. making AT aware of content changes
best way to notify users of assistive technologies of new content (a
new element added to the page, made visible, a change in text) is to
move focus() programmatically to it.
but this is not always possible, as it would interrupt the user's current
actions...
example: faked button with notification via focus()
157. ARIA live regions
• announce a change on content without moving focus to it
• aria-live : off , polite , assertive
• aria-atomic
• aria-relevant
example: faked button with notification using aria-live and aria-
atomic
some role s have implicit live region - e.g. role="alert"
unfortunately, support is...flaky
160. Dev.Opera - Gez Lemon - Accessible Drag and Drop Using WAI-ARIA
161. • aria-grabbed
• aria-dropeffect
example: Open Ajax Alliance - Drag and Drop / Gez Lemon's Drag and
Drop example
support is still bad (particularly on mobile) - consider refactoring or
providing alternative instead
163. document vs application mode
assistive technologies/screenreaders generally operate in two modes:
document mode and application mode (terminology varies)
• in document mode ("reading mode"), user can navigate freely through
the page/content with keyboard shortcuts provided by AT
• in application mode ("forms mode"), keystrokes are mostly passed
directly to page, which needs to handle all interactions
SSB Bart Group - How Windows Screen Readers Work on the Web
165. the result
• all keystrokes can now be handled via JavaScript
• need to ensure any text/content is explicitly associated with
focusable elements, use live regions, etc
• any content areas should be given role="document" to re-enable
user control
166.
167. (Google Mail doesn't use role="application" ... for illustrative purposes only)
168. you don't need role="application" ...
• for native HTML elements ( <button> , <select> etc)
• for common complex ARIA widgets (treeview, slider, dialog, etc)
in both cases, assistive technologies recognise them and
automatically switch to applicable mode / pass relevant keystrokes to
the page
tl;dr: in most situations, you won't need role="application"
176. if your page/app uses inappropriate markup, ARIA can be used to
patch some of the issues (if it can't be fixed properly)...
<table role="presentation" >
<tr>
<td>Layout column 1</td>
<td>Layout column 2</td>
</tr>
</table>
example: layout table remediation