Forms. Without them, the web would not be what it is today, but they are challenging from a markup and styling standpoint.
In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including
* new HTML5 field types;
* validation, error messages & formatting hints;
* how to mark up and style forms for the greatest flexibility in responsive designs; and
* best practices for enhancing forms with JavaScript.
Forms. Without them, the web would not be what it is today, but they are challenging from a markup and styling standpoint. In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including new HTML5 field types; validation, error messages & formatting hints; how to mark up and style forms for the greatest flexibility in responsive designs; and best practices for enhancing forms with JavaScript.
Falling in Love With Forms [An Event Apart DC 2015]Aaron Gustafson
Without forms, the web would not be what it is today, but they are challenging from a markup and styling standpoint. In this session, we'll explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including new HTML5 field types; validation, error messages & formatting hints; how to mark up and style forms for the greatest flexibility in responsive designs; and best practices for enhancing forms with JavaScript. By the end of this session you’ll be prepared to tackle whatever form-related challenges are thrown at you. You might even find yourself a little giddy over how awesome you can make them.
The Features of Highly Effective Forms [SmashingConf NYC 2016]Aaron Gustafson
Web forms are complex beasts with many moving parts. That’s one of the reasons they're so challenging to build well. In this session, Aaron Gustafson will walk you through the process of creating a form—from planning to production—and give you sage advice for improvement. You’ll learn ways to keep forms focused, how to leverage HTML5 for better user interaction, and a variety of design techniques to enhance forms’ usability. Whether you have one form or a thousand, you’ll leave this session with a much better handle on how to take them from distressing to delightful!
Falling in Love With Forms [Breaking Development Nashville 2015]Aaron Gustafson
Forms. Without them, the web would not be what it is today, but they are challenging from a markup and styling standpoint. In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including
* new HTML5 field types;
* validation, error messages & formatting hints;
* how to mark up and style forms for the greatest flexibility in responsive designs; and
* best practices for enhancing forms with JavaScript.
Forms. Without them, the web would not be what it is today, but they are challenging from a markup and styling standpoint.
In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including:
* new HTML5 field types;
* validation, error messages & formatting hints;
* how to mark up and style forms for the greatest flexibility in responsive designs; and
* best practices for enhancing forms with JavaScript.
Falling in Love with Forms [Accessibility Summit 2014]Aaron Gustafson
Forms. Without them, the web would not be what it is today, but they are challenging from a markup and styling standpoint.
In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including
* new HTML5 field types;
* validation, error messages & formatting hints;
* how to mark up and style forms for the greatest flexibility in responsive designs; and
* best practices for enhancing forms with JavaScript.
Falling in Love with Forms [Microsoft Edge Web Summit 2015]Aaron Gustafson
In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including new HTML5 field types, validation, error messages & formatting hints, how to mark up and style forms for the greatest flexibility in responsive designs, and best practices for enhancing forms with JavaScript.
The Features of Highly Effective Forms [An Event Apart Nashville 2016]Aaron Gustafson
Web forms are complex beasts with many moving parts. That’s one of the reasons they're so challenging to build well. In this session, Aaron Gustafson will walk you through the process of creating a form—from planning to production—and give you sage advice for improvement. You’ll learn ways to keep forms focused, how to leverage HTML5 for better user interaction, and a variety of design techniques to enhance forms’ usability. Whether you have one form or a thousand, you’ll leave this session with a much better handle on how to take them from distressing to delightful!
Forms. Without them, the web would not be what it is today, but they are challenging from a markup and styling standpoint. In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including new HTML5 field types; validation, error messages & formatting hints; how to mark up and style forms for the greatest flexibility in responsive designs; and best practices for enhancing forms with JavaScript.
Falling in Love With Forms [An Event Apart DC 2015]Aaron Gustafson
Without forms, the web would not be what it is today, but they are challenging from a markup and styling standpoint. In this session, we'll explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including new HTML5 field types; validation, error messages & formatting hints; how to mark up and style forms for the greatest flexibility in responsive designs; and best practices for enhancing forms with JavaScript. By the end of this session you’ll be prepared to tackle whatever form-related challenges are thrown at you. You might even find yourself a little giddy over how awesome you can make them.
The Features of Highly Effective Forms [SmashingConf NYC 2016]Aaron Gustafson
Web forms are complex beasts with many moving parts. That’s one of the reasons they're so challenging to build well. In this session, Aaron Gustafson will walk you through the process of creating a form—from planning to production—and give you sage advice for improvement. You’ll learn ways to keep forms focused, how to leverage HTML5 for better user interaction, and a variety of design techniques to enhance forms’ usability. Whether you have one form or a thousand, you’ll leave this session with a much better handle on how to take them from distressing to delightful!
Falling in Love With Forms [Breaking Development Nashville 2015]Aaron Gustafson
Forms. Without them, the web would not be what it is today, but they are challenging from a markup and styling standpoint. In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including
* new HTML5 field types;
* validation, error messages & formatting hints;
* how to mark up and style forms for the greatest flexibility in responsive designs; and
* best practices for enhancing forms with JavaScript.
Forms. Without them, the web would not be what it is today, but they are challenging from a markup and styling standpoint.
In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including:
* new HTML5 field types;
* validation, error messages & formatting hints;
* how to mark up and style forms for the greatest flexibility in responsive designs; and
* best practices for enhancing forms with JavaScript.
Falling in Love with Forms [Accessibility Summit 2014]Aaron Gustafson
Forms. Without them, the web would not be what it is today, but they are challenging from a markup and styling standpoint.
In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including
* new HTML5 field types;
* validation, error messages & formatting hints;
* how to mark up and style forms for the greatest flexibility in responsive designs; and
* best practices for enhancing forms with JavaScript.
Falling in Love with Forms [Microsoft Edge Web Summit 2015]Aaron Gustafson
In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including new HTML5 field types, validation, error messages & formatting hints, how to mark up and style forms for the greatest flexibility in responsive designs, and best practices for enhancing forms with JavaScript.
The Features of Highly Effective Forms [An Event Apart Nashville 2016]Aaron Gustafson
Web forms are complex beasts with many moving parts. That’s one of the reasons they're so challenging to build well. In this session, Aaron Gustafson will walk you through the process of creating a form—from planning to production—and give you sage advice for improvement. You’ll learn ways to keep forms focused, how to leverage HTML5 for better user interaction, and a variety of design techniques to enhance forms’ usability. Whether you have one form or a thousand, you’ll leave this session with a much better handle on how to take them from distressing to delightful!
In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including:
* new HTML5 field types;
* validation, error messages & formatting hints;
* how to mark up and style forms for the greatest flexibility in responsive designs; and
* best practices for enhancing forms with JavaScript.
Learning To Love Forms (The Ajax Experience West 2007)Aaron Gustafson
Forms are the central component of most websites and all web applications, yet few people take the time to build them correctly. Getting it right could mean the difference between people finding your site or application useful and them leaving disappointed with the experience. In this session, design expert Aaron Gustafson explores forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You will learn:
• Basic form building blocks;
• Markup for common form components;
• Error, warning, and formatting messages;
• Form styling and its implications;
• Browser oddities with certain form controls;
• Best practices for form manipulation with JavaScript and Ajax.
Learning To Love Forms [The Ajax Experience East 2007]Aaron Gustafson
Forms are the central component of most websites and all web applications, yet few people take the time to build them correctly. Getting it right could mean the difference between people finding your site or application useful and them leaving disappointed with the experience. In this session, design expert Aaron Gustafson explores forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling.
Responsive web design has taken our industry by storm and with good reason: it helps us improve our reach with less effort. But incorporating responsive design is not the goal, meeting your user’s needs is. Responsive design is not an end in itself… it’s just the beginning.
Embracing the heterogenous nature of the web—the myriad web-enabled devices with vastly different dimensions, screen sizes, networks, and capabilities in use by countless individuals, each with their own special needs—allows you to craft experiences that will work anywhere at any time. It also helps you build robust systems that adapt in ways far beyond aesthetics. This talk will cover a number of considerations that you should be aware of, beyond screen size and pixel density, and provide examples of how to adapt your interfaces so they rise to meet your users’ needs.
With the exploding popularity of DOM Scripting, Ajax and JavaScript in general, it's important to know what to do -- and what not to do -- when dealing with these technologies.This session will walk you through several real-world examples, pointing out common mistakes that hinder usability, accessibility, and searchwhile teaching you ways to avoid them altogether, either programmatically or simply by altering the way you think about JavaScript-based interactivity.
Designing the Conversation [SmashingConf 2016]Aaron Gustafson
Users are gradually becoming more accustomed to and reliant on voice-based interactions, so enabling users to complete critical tasks without a visual user interface is crucial for the long-term success of websites. This session shows how designing such a “headless” user interface is equivalent to designing the conversation you want to have with your users. Learn how to ensure that the technological decisions you make with respect to HTML, CSS, and JavaScript respect and support that conversation.
Users are gradually becoming more accustomed to and reliant on voice-based interactions, so enabling users to complete critical tasks without a visual user interface is crucial for the long-term success of websites. This session shows how designing such a “headless” user interface is equivalent to designing the conversation you want to have with your users. Learn how to ensure that the technological decisions you make with respect to HTML, CSS, and JavaScript respect and support that conversation.
There Are No “Buts” in Progressive Enhancement [Øredev 2015]Aaron Gustafson
Progressive enhancement sounds practical, but not for your current project, right? Good news: you’re wrong!
In this session, Aaron will debunk the myths that often preclude individuals and organizations from embracing progressive enhancement and demonstrate solid techniques for applying progressive enhancement in your work.
By the end of this session, you’ll walk away with
* a better sense of the devices people are using to access the Web,
* a framework for envisioning experience as a continuum, and
* a solid understanding of how to improve the accessibility and reach of your Web projects.
Come find out why progressive enhancement isn’t just for “content” sites (whatever those are).
In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including:
* new HTML5 field types;
* validation, error messages & formatting hints;
* how to mark up and style forms for the greatest flexibility in responsive designs; and
* best practices for enhancing forms with JavaScript.
Learning To Love Forms (The Ajax Experience West 2007)Aaron Gustafson
Forms are the central component of most websites and all web applications, yet few people take the time to build them correctly. Getting it right could mean the difference between people finding your site or application useful and them leaving disappointed with the experience. In this session, design expert Aaron Gustafson explores forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You will learn:
• Basic form building blocks;
• Markup for common form components;
• Error, warning, and formatting messages;
• Form styling and its implications;
• Browser oddities with certain form controls;
• Best practices for form manipulation with JavaScript and Ajax.
Learning To Love Forms [The Ajax Experience East 2007]Aaron Gustafson
Forms are the central component of most websites and all web applications, yet few people take the time to build them correctly. Getting it right could mean the difference between people finding your site or application useful and them leaving disappointed with the experience. In this session, design expert Aaron Gustafson explores forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling.
Responsive web design has taken our industry by storm and with good reason: it helps us improve our reach with less effort. But incorporating responsive design is not the goal, meeting your user’s needs is. Responsive design is not an end in itself… it’s just the beginning.
Embracing the heterogenous nature of the web—the myriad web-enabled devices with vastly different dimensions, screen sizes, networks, and capabilities in use by countless individuals, each with their own special needs—allows you to craft experiences that will work anywhere at any time. It also helps you build robust systems that adapt in ways far beyond aesthetics. This talk will cover a number of considerations that you should be aware of, beyond screen size and pixel density, and provide examples of how to adapt your interfaces so they rise to meet your users’ needs.
With the exploding popularity of DOM Scripting, Ajax and JavaScript in general, it's important to know what to do -- and what not to do -- when dealing with these technologies.This session will walk you through several real-world examples, pointing out common mistakes that hinder usability, accessibility, and searchwhile teaching you ways to avoid them altogether, either programmatically or simply by altering the way you think about JavaScript-based interactivity.
Designing the Conversation [SmashingConf 2016]Aaron Gustafson
Users are gradually becoming more accustomed to and reliant on voice-based interactions, so enabling users to complete critical tasks without a visual user interface is crucial for the long-term success of websites. This session shows how designing such a “headless” user interface is equivalent to designing the conversation you want to have with your users. Learn how to ensure that the technological decisions you make with respect to HTML, CSS, and JavaScript respect and support that conversation.
Users are gradually becoming more accustomed to and reliant on voice-based interactions, so enabling users to complete critical tasks without a visual user interface is crucial for the long-term success of websites. This session shows how designing such a “headless” user interface is equivalent to designing the conversation you want to have with your users. Learn how to ensure that the technological decisions you make with respect to HTML, CSS, and JavaScript respect and support that conversation.
There Are No “Buts” in Progressive Enhancement [Øredev 2015]Aaron Gustafson
Progressive enhancement sounds practical, but not for your current project, right? Good news: you’re wrong!
In this session, Aaron will debunk the myths that often preclude individuals and organizations from embracing progressive enhancement and demonstrate solid techniques for applying progressive enhancement in your work.
By the end of this session, you’ll walk away with
* a better sense of the devices people are using to access the Web,
* a framework for envisioning experience as a continuum, and
* a solid understanding of how to improve the accessibility and reach of your Web projects.
Come find out why progressive enhancement isn’t just for “content” sites (whatever those are).
Designing with Empathy [Code & Creativity 2014]Aaron Gustafson
Every decision we make affects the way real people experience our products.
We've all heard the rallying cry for user-centered design, but even those of us who ascribe to that ideal often fall back on our own biases and instincts when it comes to making decisions about how people experience our content and our services.
Sadly, this often means we make decisions we think will be good for our “users” - that anonymous, faceless crowd - rather than actually trying to understand the perspectives, surroundings, capabilities, and disadvantages of the actual people who we are here to serve.
In this session, Aaron will explore why empathy is a good thing, how empathy empowers creativity, and how we, as a community, can inject more empathy into our work.
Forms. Without them, the web would not be what it is today, but they are challenging from a markup and styling standpoint.
In this session, we will explore forms from top to bottom, examining how they work and how their components can be incorporated with other elements to maximize accessibility, improve semantics, and allow for more flexible styling. You’ll get to see the complete picture with forms, including
* new HTML5 field types;
* validation, error messages & formatting hints;
* how to mark up and style forms for the greatest flexibility in responsive designs; and
* best practices for enhancing forms with JavaScript.
Designed for Success: Optimizing the Email ExperienceLitmus
Great design is more than stunning graphics—it's a key strategy to unlocking the success of email. And as one of digital marketing's highest performers, email requires its own unique set of content, marketing, and design considerations. Discover the six stages of the inbox experience and pick up
actionable tips to help you create amazing emails that get opened, clicked, and stay out of the spam folder.
Justine Jordan | SearchLove San Diego, 'Designed for Success: Optimizing The ...Distilled
Great design is more than stunning graphics—it's a key strategy to unlocking the success of email. And as one of digital marketing's highest performers, email requires its own unique set of content, marketing, and design considerations. Discover the six stages of the inbox experience and pick up actionable tips to help you create amazing emails that get opened, clicked, and stay out of the spam folder.
Best Practices in Email Design & Development: HighRoad Solution WorkshopLitmus
Get in the mindset of a great email marketer so you'll understand from the ground up how to think, see, write, design and smell (ok, that might be pushing it) like an amazing email marketing guru. Learn from the best on how to put together great emails that get people reading and better yet, acting on your email.
How to use blogging more effectively as a content marketing tool. Includes brand examples and advice on topic targeting, hub and spoke promotion, repurposing and co-creating with influencers. Produced by TopRank Online Marketing.
Taking Your HTML Email Communications from "Ew" to "Wow"Dave Olsen
HTML emails can suck. From the 1990s era code to uninspiring templates to fulfillment and statistics in an alien CRM HTML emails are something that many choose to ignore. Or, at best, develop and deliver outside of a CRM.
In the summer of 2018 University Relations at West Virginia University implemented a new way of delivering HTML emails in support of Enrollment Management. We found we could be more creative and focused in our messaging than we ever expected. Early numbers show we may have influenced our class with our new strategy.
In this session, you’ll follow along with a case study that will cover how we:
• Re-thought our email communication plans from the ground-up
• Helped designers and developers collaborate with Enrollment Management using Litmus
• Built a tool on top of MJML to help speed up our development time, as well as segment copy and imagery, for our emails
• Track the effectiveness of our email communications using a dashboard built in Data Studio
And it’s all CRM agnostic.
Delivering Critical Information and Services [JavaScript & Friends 2021]Aaron Gustafson
Early on, Internet access was considered a luxury. Those times have passed and the Internet, especially the Web, has become a necessity. Whether your users are trying to access their money, gather health information, attend class, apply for assistance, or any of the other hundreds (if not thousands) of critical tasks people do on the web, your site needs to be prepared to meet their needs. And it needs to work, no matter what.
In this session, I discuss the many challenges to delivering critical information and services as well as the steps you can take to overcome those challenges. He’ll explore ways to make sure you can meet users on a variety of devices—and not the just the latest and greatest high end ones folks are talking about; how to make it accessible to people with disabilities; and how to load—and load quickly—on limited- bandwidth connections.
Designing the Conversation [Beyond Tellerrand 2019]Aaron Gustafson
Over time, your users will become more accustomed to and reliant on voice-based interactions with their computers and, thereby, the web. Enabling them to complete critical tasks without a visual user interface will be crucial for the long-term success of your website. In this session, Aaron Gustafson will discuss how smart markup choices can improve the overall usability and accessibility of your projects without disrupting your current workflow.
For the last three years, our industry has been coming to terms with Progressive Web Apps (PWAs) and what they mean for the work we do every day. Scores of articles, reams of documentation, and dozens of white papers touting the successes and failures in this space can really get your head spinning. It’s easy to get lost in the complexities of service workers, manifests, and oh so many JavaScript frameworks and toolkits. Aaron believes it’s time to take a step back and refocus our attention on what really matters: building great web experiences. In this session, you’ll learn how to apply modern web design and development best practices to your web projects. You’ll learn how to grow a project from a core, universally-accessible experience to a sophisticated Progressive Web App that ensures users will be able to access your product, no matter what.
Our industry is abuzz with talk about Progressive Web Apps (PWAs) and with good reason: they are a great way to improve the experiences our users have on our sites, especially when it comes to performance. Using Service Workers—a key component of PWAs—we can manage network requests and the cache to an incredibly granular degree. We can also totally abuse the privilege Service Workers grant us when it comes to writing files to disk.
In this session, Aaron Gustafson will discuss some of the potential pitfalls in implementing Service Workers, especially when it comes to managing heavy files like images and video. He’ll provide guidance on current best practices in cache management. And he’ll offer a few simple recipes you can put to use right away to deliver amazing experiences for your users that respect their data usage and disk space.
Adapting to Reality [Starbucks Lunch & Learn]Aaron Gustafson
After enjoying more than a decade of relative stability in designing for the 'desktop' web, smartphones had to come along and throw a wrench in the works. It seemed that in an instant, everything changed and nothing was certain any more. The truth is, though, nothing was ever certain.
One of the web’s major strengths is its ability to adapt, to travel anywhere and everywhere in service of its users. All those years we were the ones restraining it with our desire to create a single monolithic experience. But experience is not monolithic. Every person is different, and we all bring our unique perspectives, experiences, and capabilities to the table. A one-size-fits-all approach rarely fits anyone well. When we embrace that, our designs, products, and experiences will be all the better for it.
Conversational Semantics for the Web [CascadiaJS 2018]Aaron Gustafson
Over time, your users will become more accustomed to and reliant on voice-based interactions with their computers and, thereby, the web. Enabling them to complete critical tasks without a visual user interface will be crucial for the long-term success of your website. In this session, Aaron Gustafson will discuss how smart markup choices can improve the overall usability and accessibility of your projects without disrupting your current workflow.
Design is problem solving. Each and every day, we are tasked with finding ways to reduce the friction our users experience on the Web. That means streamlining flows, reducing cognitive load, writing more appropriate copy, and (of course) building accessible experience. But experience is about more than just interface. Our users’ experiences begin with their first request to our servers. In this intensely practical session, Aaron will explore the ins and outs of page load performance by showing how he made the web site of the 10K Apart meet its own contest rules, by having a site that was functional and attractive even without JavaScript, and was less than ten kilobytes at initial load. You’ll walk away with a better understanding of the page load process as well as numerous ways you can improve the projects you are working on right now.
PWA: Where Do I Begin? [Microsoft Ignite 2018]Aaron Gustafson
In this session, you'll learn how to apply modern best practices to grow your Progressive Web Apps fluidly from mobile devices all the way to large screen desktop environments. You’ll even learn how to lay the groundwork for reaching users of future form factors and “headless” UIs. We'll focus on design patterns that set you up for success on every device and across platforms and guarantee your users will be able to access your product, no matter what. Additional topics will include a primer on how your PWA can integrate more tightly with Windows 10—including how to distribute your PWA via the Store—and how to incorporate accessibility from the very beginning.
Designing the Conversation [Concatenate 2018]Aaron Gustafson
Over time, your users will become more accustomed to and reliant on voice-based interactions with their computers and, thereby, the web. Enabling them to complete critical tasks without a visual user interface will be crucial for the long-term success of your website.
Designing the Conversation [Accessibility DC 2018]Aaron Gustafson
Over time, your users will become more accustomed to and reliant on voice-based interactions with their computers and, thereby, the web. Enabling them to complete critical tasks without a visual user interface will be crucial for the long-term success of your website.
Design is problem solving. Each and every day, we are tasked with finding ways to reduce the friction our users experience on the Web. That means streamlining flows, reducing cognitive load, and writing more appropriate copy, but user experience goes far beyond the interface. Our users’ experiences begin with their first request to our servers. In this intensely practical session, Aaron will explore the ins and outs of page load performance by showing how he made the web site of the 10K Apart meet its own contest rules, by having a site that was functional and attractive even without JavaScript, and was less than ten kilobytes at initial load. You’ll walk away with a better understanding of the page load process as well as numerous ways you can improve the projects you are working on right now.
We, as an industry, tend to have a pretty myopic view of experience. Those of us who work day-to-day in accessibility probably have a broader perspective than most, but I would argue that even we all fall short now and again when it comes to seeing the Web as others do.
Performance as User Experience [AEA SEA 2018]Aaron Gustafson
Aaron Gustafson
Author, Adaptive Web Design
Performance as User Experience
Design is problem solving. Each and every day, we are tasked with finding ways to reduce the friction our users experience on the Web. That means streamlining flows, reducing cognitive load, and writing more appropriate copy, but user experience goes far beyond the interface. Our users’ experiences begin with their first request to our servers. In this intensely practical session, Aaron will explore the ins and outs of page load performance by showing how he made the web site of the 10K Apart meet its own contest rules, by having a site that was functional and attractive even without JavaScript, and was less than ten kilobytes at initial load. You’ll walk away with a better understanding of the page load process as well as numerous ways you can improve the projects you are working on right now.
Performance as User Experience [An Event Apart Denver 2017]Aaron Gustafson
Design is problem solving. Each and every day, we are tasked with finding ways to reduce the friction our users experience on the Web. That means streamlining flows, reducing cognitive load, and writing more appropriate copy, but user experience goes far beyond the interface. Our users’ experiences begin with their first request to our servers. In this intensely practical session, Aaron will explore the ins and outs of page load performance by showing how he made the web site of the 10K Apart meet its own contest rules, by having a site that was functional and attractive even without JavaScript, and was less than ten kilobytes at initial load. You’ll walk away with a better understanding of the page load process as well as numerous ways you can improve the projects you are working on right now.
Over time, your users will become more accustomed to and interacting with their computers on the web. Enabling them to complete critical tasks without a visual user interface will be crucial for the long-term success of your website.
So how do you design a "headless" UI? That's easy: You design the conversation.
Conversation is at the root of every interaction we have, be it with another human being, a game, or with a website. This session will discuss how to design and implement a web application that will allow you to create a web page that will allow you to create HTML documents.
After enjoying more than a decade of relative stability in designing for the 'desktop' web, smartphones had to come along and throw a wrench in the works. It seemed that in an instant, everything changed and nothing was certain any more. The truth is, though, nothing was ever certain.
One of the web’s major strengths is its ability to adapt, to travel anywhere and everywhere in service of its users. All those years we were the ones restraining it with our desire to create a single monolithic experience. But experience is not monolithic. Every person is different and we all bring our unique perspectives, experiences, and capabilities to the table. A one-size-fits-all approach rarely fits anyone well. When we embrace that, our designs, products, and experiences will be all the better for it.
In this talk, Aaron will discuss and dissect several adaptive interfaces and demonstrate how they smartly morph to meet their users’ needs — slow connections, older browsers, narrow screens, and even no screens at all. He’ll also introduce you to a battle-tested tool for planning, discussing, building and testing adaptive interfaces.
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.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
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.
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.
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.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
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.
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
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
18. FALLING IN LOVE WITH FORMS
Pattern 1: Label & Field
Your Name
<input type=“text” name=“full_name”>
19. FALLING IN LOVE WITH FORMS
Pattern 1: Label & Field
Your Name
<input name=“full_name”>
20. FALLING IN LOVE WITH FORMS
Pattern 1: Label & Field
Your Name
<input name=“full_name”/>
21. FALLING IN LOVE WITH FORMS
Pattern 1: Label & Field
Your Name
<input name=“full_name”>
22. FALLING IN LOVE WITH FORMS
Pattern 1: Label & Field
<label>Your Name</label>
<input name=“full_name”>
23. FALLING IN LOVE WITH FORMS
Pattern 1: Label & Field
<label for=“full_name”>Your Name</label>
<input id=“full_name” name=“full_name”>
24. FALLING IN LOVE WITH FORMS
Pattern 1: Label & Field
<label for=“full_name”>Your Name</label>
<input id=“full_name” name=“full_name” required>
25. FALLING IN LOVE WITH FORMS
Pattern 2: Label, Field & Note
<label for=“email”>Your Email</label>
<input id=“email” name=“email” required>
We will only use your email address to respond to your message.
26. FALLING IN LOVE WITH FORMS
Pattern 2: Label, Field & Note
<label for=“email”>Your Email</label>
<input id=“email” name=“email” required>
We will only use your email address to respond to your message.
27. FALLING IN LOVE WITH FORMS
Pattern 2: Label, Field & Note
<label for=“email”>Your Email</label>
<input id=“email” name=“email” required>
We will only use your email address to respond to your message.
28. FALLING IN LOVE WITH FORMS
Pattern 2: Label, Field & Note
<label for=“email”>Your Email</label>
<input type=“email” id=“email” name=“email” required>
We will only use your email address to respond to your message.
29. FALLING IN LOVE WITH FORMS
Pattern 2: Label, Field & Note
<label for=“email”>Your Email</label>
<input type=“email” id=“email” name=“email” required>
We will only use your email address to respond to your message.
30. FALLING IN LOVE WITH FORMS
Pattern 2: Label, Field & Note
<label for=“email”>Your Email</label>
<input type=“email” id=“email” name=“email” required>
We will only use your email address to respond to your message.
33. SHAMELESS PLUG!
Crafting Rich Experienceswith Progressive Enhancement
SECOND EDITION
ADAPTIVEWEBDESIGN
by Aaron GustafsonForeword by Jeremy Keith
Read Free at
http://is.gd/awd1st
Available
Dec 6th
34. FALLING IN LOVE WITH FORMS
Pattern 2: Label, Field & Note
<label for=“email”>Your Email</label>
<input type=“email” id=“email” name=“email” required>
<em>
We will only use your email address to respond to your message.
</em>
35. FALLING IN LOVE WITH FORMS
Pattern 2: Label, Field & Note
<label for=“email”>Your Email</label>
<input type=“email” id=“email” name=“email” required>
<em class=“note”>
We will only use your email address to respond to your message.
</em>
36. FALLING IN LOVE WITH FORMS
Pattern 2: Label, Field & Note
<label for=“email”>Your Email</label>
<input type=“email” id=“email” name=“email” required
aria-describedby=“email-note”>
<em class=“note” id=“email-note”>
We will only use your email address to respond to your message.
</em>
37. FALLING IN LOVE WITH FORMS
Rinse & Repeat
<label for=“subject”>Purpose of Your Message</label>
<select id="subject" name="subject">
<option>Question/Comment</option>
<option>Article Error</option>
<option>Website Bug Report</option>
<option>Ask the Sherpas a question</option>
</select>
38. FALLING IN LOVE WITH FORMS
Rinse & Repeat
<label for=“message”>Your Message</label>
<textarea id="message" name="message"></textarea>
39. FALLING IN LOVE WITH FORMS
Buttons
<input type=“submit” value=“Send My Message”>
40. FALLING IN LOVE WITH FORMS
Buttons
<button type=“submit”>Send My Message</button>
42. That new email field
looks cool, can we
see more of that
fancy HTML5 stuff?
43. FALLING IN LOVE WITH FORMS
Requesting URLs
<label for=“url”>URL</label>
<input type=“url” id=“url” name=“url” required
aria-describedby=“url-note”
>
<em class=“note” id=“url-note”>
Please provide the URL for the specific page that includes the area
you want reviewed.
</em>
44. FALLING IN LOVE WITH FORMS
Requesting URLs
<label for=“url”>URL</label>
<input type=“url” id=“url” name=“url” required
aria-describedby=“url-note”
>
<em class=“note” id=“url-note”>
Please provide the URL for the specific page that includes the area
you want reviewed.
</em>
45. FALLING IN LOVE WITH FORMS
Requesting URLs
<label for=“url”>URL</label>
<input type=“url” id=“url” name=“url” required
aria-describedby=“url-note”
>
<em class=“note” id=“url-note”>
Please provide the URL for the specific page that includes the area
you want reviewed.
</em>
46. FALLING IN LOVE WITH FORMS
Requesting URLs
<label for=“url”>URL</label>
<input type=“url” id=“url” name=“url” required
aria-describedby=“url-note”
>
<em class=“note” id=“url-note”>
Please provide the URL for the specific page that includes the area
you want reviewed.
</em>
47. FALLING IN LOVE WITH FORMS
Providing hints
<label for=“url”>URL</label>
<input type=“url” id=“url” name=“url” required
aria-describedby=“url-note”
placeholder=“http://www.yoursite.com/specific-page#anchored-section”
>
<em class=“note” id=“url-note”>
Please provide the URL for the specific page that includes the area
you want reviewed.
</em>
49. FALLING IN LOVE WITH FORMS
Providing hints
<label for=“url”>URL</label>
<input type=“url” id=“url” name=“url” required
aria-describedby=“url-note”
placeholder=“http://www.yoursite.com/specific-page#anchored-section”
>
<em class=“note” id=“url-note”>
Please provide the URL for the specific page that includes the area
you want reviewed.
</em>
50. FALLING IN LOVE WITH FORMS
Requesting phone numbers
<label for="preferred_phone">Preferred Phone</label>
<input type="tel" id="preferred_phone" name=“preferred_phone”
placeholder="ex. 123-456-7890”
>
51. FALLING IN LOVE WITH FORMS
Requesting phone numbers
<label for="preferred_phone">Preferred Phone</label>
<input type="tel" id="preferred_phone" name=“preferred_phone”
placeholder="ex. 123-456-7890”
>
52. FALLING IN LOVE WITH FORMS
Requesting phone numbers
<label for="preferred_phone">Preferred Phone</label>
<input type="tel" id="preferred_phone" name=“preferred_phone”
placeholder="ex. 123-456-7890”
>
53. FALLING IN LOVE WITH FORMS
Requesting numbers
<label for="test">What is 1 + 1?</label>
<input id="test" type=“number" name="test">
54. FALLING IN LOVE WITH FORMS
Requesting numbers
<label for=“volume">How Loud is Spinal Tap?</label>
<input id="volume" type=“range" name=“volume”
min=“0” max=“11” step=“1”
>
55. FALLING IN LOVE WITH FORMS
Requesting numbers
<label for="test">What is 1 + 1?</label>
<input id="test" type=“number" name=“test”
pattern=“[0-9]*”
min=“0” max=“9”
>
56. FALLING IN LOVE WITH FORMS
Requesting dates & times
<label for="preferred_dates">Preferred Date to Visit</label>
<input id="preferred_dates" type="date" name=“preferred_dates"
required
>
57. FALLING IN LOVE WITH FORMS
Requesting dates & times
<label for="preferred_dates">Preferred Date to Visit</label>
<input id="preferred_dates" type="date" name=“preferred_dates"
required
>
58. FALLING IN LOVE WITH FORMS
Requesting dates & times
<label for="preferred_dates">Preferred Date to Visit</label>
<input id="preferred_dates" type="date" name=“preferred_dates"
required
>
59. FALLING IN LOVE WITH FORMS
Requesting dates & times
<label for="preferred_dates">Preferred Date to Visit</label>
<input id="preferred_dates" type="date" name=“preferred_dates"
required
min=“2014-09-10” max=“2014-12-19”
>
60. FALLING IN LOVE WITH FORMS
Requesting dates & times
<label for="preferred_dates">Preferred Date to Visit</label>
<input id="preferred_dates" type="date" name=“preferred_dates"
required
min=“2014-09-10” max=“2014-12-19”
>
61. FALLING IN LOVE WITH FORMS
Requesting dates & times
<label for="requested_tour_time">Tour Time Requested</label>
<input id="requested_tour_time" type="time" name=“requested_tour_time">
62. FALLING IN LOVE WITH FORMS
Requesting dates & times
<label for="requested_tour_time">Tour Time Requested</label>
<input id="requested_tour_time" type="time" name=“requested_tour_time">
63. FALLING IN LOVE WITH FORMS
Mentalism
<label for="state">State</label>
<input id="state" name="state" list="states">
<datalist id="states">
<option>Alabama</option>
<option>Alaska</option>
<option>Arizona</option>
<option>Arkansas</option>
<!-- options continue -->
</datalist>
64. FALLING IN LOVE WITH FORMS
Mentalism
<label for="state">State</label>
<input id="state" name="state" list="states">
<datalist id="states">
<option>Alabama</option>
<option>Alaska</option>
<option>Arizona</option>
<option>Arkansas</option>
<!-- options continue -->
</datalist>
65. FALLING IN LOVE WITH FORMS
Mentalism
<label for="state">State</label>
<input id="state" name="state" list="states">
<datalist id="states">
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<!-- options continue -->
</datalist>
66. FALLING IN LOVE WITH FORMS
Mentalism: smart fallbacks
<label for=“state" id=“state_label”>State</label>
<datalist id=“states”>
<select name=“state” aria-labelledby=“state_label”>
<option>Alabama</option>
<option>Alaska</option>
<option>Arizona</option>
<option>Arkansas</option>
<!-- options continue -->
</select>
If other, please specify
</datalist>
<input id="state" name="state" list="states">
Based on work by Jeremy Keith: http://adactio.com/journal/4272
67. FALLING IN LOVE WITH FORMS
Based on work by Jeremy Keith: http://adactio.com/journal/4272
Mentalism: smart fallbacks
<label for=“state" id=“state_label”>State</label>
<datalist id=“states”>
<select name=“state” aria-labelledby=“state_label”>
<option>Alabama</option>
<option>Alaska</option>
<option>Arizona</option>
<option>Arkansas</option>
<!-- options continue -->
</select>
If other, please specify
</datalist>
<input id="state" name="state" list="states">
68. FALLING IN LOVE WITH FORMS
Mentalism: smart fallbacks
<label for=“state" id=“state_label”>State</label>
<datalist id=“states”>
<select name=“state” aria-labelledby=“state_label”>
<option>Alabama</option>
<option>Alaska</option>
<option>Arizona</option>
<option>Arkansas</option>
<!-- options continue -->
</select>
If other, please specify
</datalist>
<input id="state" name="state" list="states">
Based on work by Jeremy Keith: http://adactio.com/journal/4272
69. FALLING IN LOVE WITH FORMS
Mentalism: smart fallbacks
<label for=“state" id=“state_label”>State</label>
<datalist id=“states”>
<select name=“state” aria-labelledby=“state_label”>
<option>Alabama</option>
<option>Alaska</option>
<option>Arizona</option>
<option>Arkansas</option>
<!-- options continue -->
</select>
If other, please specify
</datalist>
<input id="state" name="state" list="states">
Based on work by Jeremy Keith: http://adactio.com/journal/4272
70. Ok, I get it: forms in
HTML5 are awesome.
But how should we
organize our forms?
71. FALLING IN LOVE WITH FORMS
Do we divide it up?
<div>
<label for=“full_name”>Your Name</label>
<input id=“full_name” name=“full_name” required>
</div>
72. FALLING IN LOVE WITH FORMS
Do paragraphs make sense?
<p>
<label for=“full_name”>Your Name</label>
<input id=“full_name” name=“full_name” required>
</p>
73. FALLING IN LOVE WITH FORMS
Is it a list of questions?
<ol>
<li>
<label for=“full_name”>Your Name</label>
<input id=“full_name” name=“full_name” required>
</li>
</ol>
74. FALLING IN LOVE WITH FORMS
Is it a list of questions?
form ol,
form ul {
list-style: none;
margin: 0;
padding: 0;
}
75. FALLING IN LOVE WITH FORMS
Control Group Classification
<li class=“text”>
<label for=“full_name”>Your Name</label>
<input id=“full_name” name=“full_name” required>
</li>
76. FALLING IN LOVE WITH FORMS
Control Group Classification
<li class=“form-control form-control--text”>
<label for=“full_name”>Your Name</label>
<input id=“full_name” name=“full_name” required>
</li>
77. FALLING IN LOVE WITH FORMS
Control Group Classification
<li class=“text”>
<label for=“full_name”>Your Name</label>
<input id=“full_name” name=“full_name” required>
</li>
78. FALLING IN LOVE WITH FORMS
Control Group Classification
<li class=“email”>
<label for=“email”>Your Email</label>
<input type=“email” id=“email” name=“email” required
aria-describedby=“email-note”>
<em class=“note” id=“email-note”>
We will only use your email address to respond
to your message.
</em>
</li>
79. FALLING IN LOVE WITH FORMS
Control Group Classification
<li class=“select”>
<label for=“subject”>Purpose of Your Message</label>
<select id="subject" name="subject">
<option>Question/Comment</option>
<option>Article Error</option>
<option>Website Bug Report</option>
<option>Ask the Sherpas a question</option>
</select>
</li>
80. FALLING IN LOVE WITH FORMS
Control Group Classification
<li class=“textarea”>
<label for=“message”>Your Message</label>
<textarea id="message" name=“message"></textarea>
</li>
81. FALLING IN LOVE WITH FORMS
Control Group Classification
<li class=“buttons”>
<button type=“submit”>Send My Message</button>
</li>
83. FALLING IN LOVE WITH FORMS
Pattern 3: Confirmations
<input type=“checkbox” name=“newsletter” value=“yes”>
Sign me up for this newsletter
84. FALLING IN LOVE WITH FORMS
Pattern 3: Confirmations
<input type=“checkbox” name=“newsletter” value=“yes”
id=“newsletter”>
<label for=“newsletter”>Sign me up for this newsletter</label>
85. FALLING IN LOVE WITH FORMS
Pattern 3: Confirmations
<label>
<input type=“checkbox” name=“newsletter” value=“yes”>
Sign me up for this newsletter
</label>
86. FALLING IN LOVE WITH FORMS
Pattern 3: Confirmations
input {
/* Styles for most normal input types */
}
label input {
/* Styles for checkbox and radio controls */
}
87. FALLING IN LOVE WITH FORMS
Pattern 3: Confirmations
<label for=“newsletter”>
<input type=“checkbox” name=“newsletter” value=“yes”
id=“newsletter”>
Sign me up for this newsletter
</label>
88. FALLING IN LOVE WITH FORMS
Pattern 4: Multiple Choice
Tablets (9 available)
<label for="asus-nexus-7">
<input type="checkbox" name="device[]" id=“asus-nexus-7">
Asus Nexus 7
</label>
<!-- more options -->
89. FALLING IN LOVE WITH FORMS
Pattern 4: Multiple Choice
Tablets (8 available)
<ul>
<li><!-- Asus Nexus 7 --></li>
<!-- more options -->
</ul>
90. FALLING IN LOVE WITH FORMS
Pattern 4: Multiple Choice
<fieldset>
<legend>Tablets (9 available)</legend>
<ul>
<li><!-- Asus Nexus 7 --></li>
<!-- more options -->
</ul>
</fieldset>
91. FALLING IN LOVE WITH FORMS
Pattern 4: Multiple Choice
<fieldset>
<legend>Tablets <em>(9 available)</em></legend>
<ul>
<li><!-- Asus Nexus 7 --></li>
<!-- more options -->
</ul>
</fieldset>
92. FALLING IN LOVE WITH FORMS
Pattern 4: Multiple Choice
<li class=“grouped checkboxes”>
<fieldset>
<legend>Tablets <em>(9 available)</em></legend>
<ul>
<li><!-- Asus Nexus 7 --></li>
<!-- more options -->
</ul>
</fieldset>
</li>
93. FALLING IN LOVE WITH FORMS
Pattern 5: Related Entry
Requested Day and Time
<label for="requested_date">Requested Day</label>
<select id=“requested_date" name=“requested_date" required=“”>
<!-- options —>
</select>
<label for="requested_time">Requested Time</label>
<select id="requested_time" name=“requested_time" required="">
<!-- options —>
</select>
94. FALLING IN LOVE WITH FORMS
Pattern 5: Related Entry
<fieldset>
<legend>Requested Day and Time</legend>
<label for="requested_date">Requested Day</label>
<select id=“requested_date" name="requested_date"
required=“”><!-- options --></select>
<label for="requested_time">Requested Time</label>
<select id="requested_time" name=“requested_time" required="">
<!-- options --></select>
</fieldset>
95. FALLING IN LOVE WITH FORMS
Pattern 5: Related Entry
<li class=“grouped date-time-selects”>
<fieldset>
<legend>Requested Day and Time</legend>
<label for="requested_date">Requested Day</label>
<select id=“requested_date" name="requested_date"
required=“”><!-- options --></select>
<!-- continued… -->
</fieldset>
</li>
96. FALLING IN LOVE WITH FORMS
Pattern 5: Related Entry
/* Hide the labels in an accessible way */
form .date-time-selects label {
position: absolute;
height: 1px;
width: 1px;
overflow: hidden;
clip: rect(1px 1px 1px 1px); /* IE6 & IE7 */
clip: rect(1px, 1px, 1px, 1px);
}
99. Ok, I think I’m
getting it, but
small screens still
scare me a little.
100. FALLING IN LOVE WITH FORMS
Tap-friendly hit targets
.confirm label,
.radios label,
.checkboxes label {
margin: -1em 0;
padding: 1em 0;
}
101. FALLING IN LOVE WITH FORMS
Tap-friendly hit targets
.confirm label,
.radios label,
.checkboxes label {
margin: -1em 0;
padding: 1em 0;
}
102. FALLING IN LOVE WITH FORMS
No layout before its time
.form-control {
clear: both;
}
.form-control label,
.form-control input {
float: left;
width: 34%;
}
.form-control input {
width: 63%;
}
103. FALLING IN LOVE WITH FORMS
No layout before its time
.form-control label,
.form-control input {
display: block;
margin-bottom: .328em;
}
104. FALLING IN LOVE WITH FORMS
No layout before its time
.form-control label,
.form-control input {
display: block;
margin-bottom: .328em;
}
@media only screen and (min-width: 60em) {
/* Side by Side layout */
}
YMQMV
105. FALLING IN LOVE WITH FORMS
No layout before its time
@media only screen and (min-width:30em) {
form .grouped ul li {
float: left;
width: 50%;
}
} YMQMV
107. FALLING IN LOVE WITH FORMS
Requiring a field
<p>Fields marked with a * are required.</p>
<p>
<label for=“first_name">
First Name <abbr title=“required">*</abbr>
</label>
<input id="first_name" name="first_name" required>
</p>
108. FALLING IN LOVE WITH FORMS
Requiring a field
<p>Fields marked with a * are required.</p>
<p>
<label for=“first_name">
First Name <abbr title=“required">*</abbr>
</label>
<input id="first_name" name="first_name" required>
</p>
109. FALLING IN LOVE WITH FORMS
Requiring a field
<p>Fields marked with a * are
<strong id="required">required</strong>.</p>
<p>
<label for=“first_name">
First Name
<abbr title=“required” aria-labelledby=“required”>*</abbr>
</label>
<input id="first_name" name="first_name" required>
</p>
110. FALLING IN LOVE WITH FORMS
Requiring a field
<p tabindex="0">Fields marked with a * are required.</p>
<p>
<label for=“first_name">
First Name <abbr title=“required">*</abbr>
</label>
<input id="first_name" name="first_name" required
aria-required="true">
</p>
112. FALLING IN LOVE WITH FORMS
Native validation
<label for=“email”>Your Email</label>
<input type=“email” id=“email” name=“email” required>
We will only use your email address to respond to your message.
113. FALLING IN LOVE WITH FORMS
Non-native format validation
<label for="test">What is 1 + 1?</label>
<input id="test" type=“number" name=“test”
pattern=“[0-9]*”
>
114. FALLING IN LOVE WITH FORMS
Non-native format validation
<label for=“test">Enter three numbers
followed by two letters</label>
<input id="test" name=“test”
placeholder=“e.g. 123ab”
pattern=“d{3}[a-zA-Z]{2}”
>
116. FALLING IN LOVE WITH FORMS
Provide a list of errors
retreats4geeks.com/contact
117. FALLING IN LOVE WITH FORMS
Provide a list of errors
<div role=“alert”>
<p>There were errors with your form submission:</p>
<ol>
<li><a href="#message">Message</a> is a required field</li>
<li><a href="#name">Name</a> is a required field</li>
<li><a href="#email">Email</a> is a required field</li>
</ol>
</div>
118. FALLING IN LOVE WITH FORMS
Provide easy access to them
<div role=“alert”>
<p>There were errors with your form submission:</p>
<ol>
<li><a href="#message">Message</a> is a required field</li>
<li><a href="#name">Name</a> is a required field</li>
<li><a href="#email">Email</a> is a required field</li>
</ol>
</div>
119. FALLING IN LOVE WITH FORMS
Provide easy access to them
<label for=“message”>
Message <abbr title=“required">*</abbr>
</label>
<textarea id="message" name="message" required></textarea>
120. FALLING IN LOVE WITH FORMS
Provide field-level help
<li class="text validation-error">
<label for=“email”>Your Email <abbr title=“required">*</abbr>
</label>
<input id="email" type="email" name="email"
required=“" aria-required=“true”
aria-invalid="true"
aria-describedby=“email-error"
>
<strong id="email-error" class=“validation-error-message">
Your email address is required</strong>
</li>
121. FALLING IN LOVE WITH FORMS
Provide field-level help
li.validation-error {
color: #922026;
}
li.validation-error input,
li.validation-error textarea,
li.validation-error select {
border-color: #922026;
}
122. FALLING IN LOVE WITH FORMS
Provide field-level help
.validation-error label::before {
content: “x ";
font-family: Verdana, sans-serif;
speak: none; /* The future! */
}
123. FALLING IN LOVE WITH FORMS
Provide field-level help
.validation-error label::before {
content: “Please Enter ";
font-family: Verdana, sans-serif;
}