Consider this: you’ve worked in web development for a while and you aren’t a novice developer anymore. You can dive into CSS and HTML, with the best of them, and you even know a little javascript. But now you are being told to “consider the user” in your development process and to “make your sites more accessible”. You find yourself asking, “what does all of this mean and how do I do that?”
Have no fear. This workshop will expand your knowledge of the web development process by providing you with a few essential tools and tricks needed to help you create more user-friendly and accessible websites.
The topics include:
- How to incorporate accessibility and usability from the beginning of development
- How to make your javascript components more accessible
- How to run a simple user testing session that will give you the feedback you need
- How to create a faster workflow for CSS and HTML creation from a design
This document provides an agenda and slides for a FEWD (Front End Web Development) class. It discusses the CSS box model, nested selectors, HTML templates, and starting the Relaxr landing page assignment. Key points include:
- The CSS box model consists of margins, borders, padding, and content
- Nested selectors allow targeting elements within other elements
- Students are instructed to create a GitHub repository and commit their weekly work
- Layout techniques like floats and HTML5 structural elements are reviewed to help structure the Relaxr assignment pages
The document contains a presentation on CSS (Cascading Style Sheets) given by Herman. The presentation covers the basics of CSS including how it separates design from HTML, writing CSS selectors for tags, classes and IDs, basic styling properties, the box model, positioning, CSS frameworks, and standards used at Bina Nusantara University.
This document provides an overview of Polymer and web components. It introduces key concepts like custom elements, shadow DOM, HTML imports, and templates. It demonstrates how to define a custom element and component API. It also covers Polymer features like data binding, DOM repeat, and CSS styling. Various tools for Polymer development are presented, like the Polymer CLI, Bower, and Web Components Tester. Examples of implementing common elements and integrating Polymer in applications are given.
BEM. What you can borrow from Yandex frontend devVarya Stepanova
This document discusses the benefits of using a Block Element Modifier (BEM) methodology for organizing CSS and HTML code into independent and reusable blocks. It provides examples of how to structure files and code for blocks, elements, modifiers, and different pages and browsers to maintain a clear separation of concerns. Developing in this way aims to make code more modular, independent, readable and maintainable.
This document provides an overview and introduction to using Twitter Bootstrap, an open source front-end web development framework. It discusses installing Bootstrap, the basic grid system and components it provides like buttons, forms, tables and navigation bars. It also covers customizing Bootstrap with themes and integrating it into various platforms like Drupal, Magento, Symfony and more. Useful links are provided for additional Bootstrap plugins, themes and integration modules.
Drupal is a content management framework (CMF) that can be used to build web applications and websites. It provides features out of the box for content creation, user management, navigation, and customization. Drupal has a large community of contributors and modules that allow it to be expanded and customized for any need. All content in Drupal is represented as nodes that can have custom fields defined and displayed in different ways using views. Modules, themes, languages and hooks allow Drupal to be fully extended.
This document provides instructions for creating a basic template in Joomla. It discusses the file structure of a basic Joomla template which includes folders for CSS, images, and template files. It then outlines 4 steps to create a template: designing the layout, adding HTML markup, writing CSS code, and "Joomlafying" the code to integrate Joomla functions. The goal is to provide a basic understanding of what is required to build a functional Joomla template.
This PPT is about my best friends, HTML, CSS and JS. Here I am just talk/show few features of them. all three combined make our web site more powerful in this WWW world.
This document provides an agenda and slides for a FEWD (Front End Web Development) class. It discusses the CSS box model, nested selectors, HTML templates, and starting the Relaxr landing page assignment. Key points include:
- The CSS box model consists of margins, borders, padding, and content
- Nested selectors allow targeting elements within other elements
- Students are instructed to create a GitHub repository and commit their weekly work
- Layout techniques like floats and HTML5 structural elements are reviewed to help structure the Relaxr assignment pages
The document contains a presentation on CSS (Cascading Style Sheets) given by Herman. The presentation covers the basics of CSS including how it separates design from HTML, writing CSS selectors for tags, classes and IDs, basic styling properties, the box model, positioning, CSS frameworks, and standards used at Bina Nusantara University.
This document provides an overview of Polymer and web components. It introduces key concepts like custom elements, shadow DOM, HTML imports, and templates. It demonstrates how to define a custom element and component API. It also covers Polymer features like data binding, DOM repeat, and CSS styling. Various tools for Polymer development are presented, like the Polymer CLI, Bower, and Web Components Tester. Examples of implementing common elements and integrating Polymer in applications are given.
BEM. What you can borrow from Yandex frontend devVarya Stepanova
This document discusses the benefits of using a Block Element Modifier (BEM) methodology for organizing CSS and HTML code into independent and reusable blocks. It provides examples of how to structure files and code for blocks, elements, modifiers, and different pages and browsers to maintain a clear separation of concerns. Developing in this way aims to make code more modular, independent, readable and maintainable.
This document provides an overview and introduction to using Twitter Bootstrap, an open source front-end web development framework. It discusses installing Bootstrap, the basic grid system and components it provides like buttons, forms, tables and navigation bars. It also covers customizing Bootstrap with themes and integrating it into various platforms like Drupal, Magento, Symfony and more. Useful links are provided for additional Bootstrap plugins, themes and integration modules.
Drupal is a content management framework (CMF) that can be used to build web applications and websites. It provides features out of the box for content creation, user management, navigation, and customization. Drupal has a large community of contributors and modules that allow it to be expanded and customized for any need. All content in Drupal is represented as nodes that can have custom fields defined and displayed in different ways using views. Modules, themes, languages and hooks allow Drupal to be fully extended.
This document provides instructions for creating a basic template in Joomla. It discusses the file structure of a basic Joomla template which includes folders for CSS, images, and template files. It then outlines 4 steps to create a template: designing the layout, adding HTML markup, writing CSS code, and "Joomlafying" the code to integrate Joomla functions. The goal is to provide a basic understanding of what is required to build a functional Joomla template.
This PPT is about my best friends, HTML, CSS and JS. Here I am just talk/show few features of them. all three combined make our web site more powerful in this WWW world.
Layout discovery. Drupal Summer Barcelona 2017Atenea tech
Luis Ortiz Ramos gave a presentation on layout discovery in Drupal 8. Some key points:
- Layouts allow arranging content in flexible, drag-and-drop block regions on pages.
- Early goals were contextual blocks, blocks everywhere, multiple page layouts, and better UI.
- Layout discovery was introduced in Drupal 8.3 as experimental and improved in later versions.
- Modules can define layouts by registering YAML files, themes, classes, or as plugins. Layouts are instantiated and used programmatically or with modules like Display Suite.
Video at http://www.youtube.com/watch?v=HaJnhYPLvx0
Large Drupal projects will generally have a themer or five working alongside the developers, site builders and designers. Themers are the magicians who transform what Drupal wants to do into what the designer wants it to do.
Smaller projects also usually need someone on the team who can make sense of Drupal's output, knows more CSS and JS than anyone else and can configure Views with their eyes closed.
The thing is — and whisper this, if possible redundancy concerns you — we can bypass the themer entirely.
With some simple configuration, a site builder can get Drupal to output exactly the semantic, lightweight markup that any modern front-end designer would be proud of. The designer can be left alone to write the most appropriate HTML, CSS and JS, while the site builder need only choose a couple of options when putting together content types, views and panels to make Drupal behave.
A friendly developer may have to lend a hand every now and then, but that’s it. You can get rid of the themer altogether.
http://2013.drupalcamplondon.co.uk/session/death-themer
Drupal distributions - how to build themDick Olsson
The document discusses how to build Drupal distributions by using tools like Drush Make, install profiles, and exportables. It provides an overview of the key components of a distribution like configuration, third party libraries, install profiles, and exportables. It also demonstrates how to build a distribution and provides tips for using Drush Make, keeping install profiles minimal, organizing exportables, and relying on "broken" handlers for some components.
#4 - CSS Selectors, CSS3 and Web typographyiloveigloo
The document discusses various techniques for digital animation and web typography. It covers CSS selectors and properties, CSS3 modules like borders, shadows and transformations. It also discusses techniques for incorporating web fonts, including using @font-face, different font formats, browser support, and services like Google Web Fonts. The document provides examples and code snippets to demonstrate the different concepts.
The document discusses a scalable and modular architecture for CSS that involves categorizing styles into base, layout, module, and state categories. This approach helps make CSS more flexible, maintainable, and avoids overly specific selectors. Key aspects include naming conventions, limiting the depth of styles, and using child selectors. An example of a "media object" pattern is provided to demonstrate how abstracting styles into reusable modules can significantly reduce code. While this approach goes against some conventional wisdom, it separates structure and skin while promoting reusability.
This document discusses component-driven design and development. It covers topics like components, design systems, CSS methodologies, style guides, and how to implement a component-based approach in Drupal. Specific methodologies discussed include Atomic Design, BEM, OOCSS, SMACSS. It also covers style guides, KSS for generating documentation from code, and various Drupal-specific techniques for building out components like display suite, panels, and code alterations. The overall message is that taking a component and design system approach improves reusability, efficiency, and maintainability of projects.
Writing your own WordPress themes and pluginsStephanie Wells
The document provides guidance on writing WordPress themes and plugins. It outlines steps for setting up a local development environment, learning HTML and CSS, creating a child theme, building a basic theme from scratch, exploring WordPress hooks, identifying needs for new plugins, and writing plugin code. Specific recommendations include using MAMP or XAMPP for local hosting, Codecademy tutorials for learning web languages, Underscores starter theme, and documenting needs and user steps before writing code.
The document discusses enhancing the OpenStack Horizon dashboard user interface with AngularJS. It provides an overview of OpenStack and Horizon architectures, and then describes how to add a new panel to Horizon using AngularJS. Key aspects covered include creating RESTful APIs, controllers, views, and templates to integrate new dynamic and client-side functionality within the existing Horizon framework. The approach allows cleaner separation of client and server code for improved user experience, testing, and development velocity.
Building and Maintaining a Distribution in Drupal 7 with FeaturesNuvole
Drupal 7 allows to easily build and maintain distributions, i.e. repeatable website templates; you can benefit from this in all cases, whether you aim at large-scale deployments or even at maintaining a single website.
We will show how to package core and contributed modules in a distribution by using a Makefile and a profile and keeping them up-to-date during the whole development cycle.
Then you will learn how to use Code-Driven Development to store all settings in a sustainable way: use the Features module to easily describe configuration in code, a proper separation between Features to make your code reusable and extendible, a well-thought design of Features to create easier development patterns, CTools and Exportables to put your configuration in code even when a module does not support it natively.
Last, we will see how the distributions update mechanism allows you to create a new version of your distribution for easy and painless configuration updates of a live site.
Display Suite is a Drupal module that allows users to take full control over how content is displayed using a drag and drop interface without having to work with template files. It provides predefined layouts and allows users to create custom layouts and view modes. Display Suite also features code fields to add custom variables and styles to control field formatting. The module is actively maintained and widely used with thousands of active sites.
This presentation was delivered on 11th May, 2014 in Drupal Camp Pakistan held in DatumSquare IT Services Islamabad. Contents of the presentation contains some basics stuff for designers, themers and coders.
The document provides best practices for developing with Drupal including getting Drupal from version control, updating modules, using revision control, module development practices like understanding prerequisites and hooks, input validation, avoiding direct database queries, theme development practices like available theme engines and template variables, and overriding themeable functions.
This document provides a summary of best practices for front-end development. It discusses semantic HTML, CSS organization and specificity, responsive images, JavaScript performance, and other optimization techniques. Key recommendations include writing semantic HTML first before styling, avoiding inline styles, properly structuring CSS with comments and organization, reducing requests by combining files and using sprites, and placing JavaScript before the closing body tag.
1. The document discusses integrating Webpack into a Django project to bundle static files.
2. It provides an example Django application and shows how to set up basic Webpack configuration to bundle Vue.js and other static files.
3. Additional Webpack features like hot reloading and code splitting are demonstrated to improve the development and production workflows.
Drupal Theme Development - DrupalCon Chicago 2011Ryan Price
This class is intended for people who know some HTML and CSS, and covers the fundamental principles of Drupal theming geared toward people who wish to take a static mockup of a site design and turn it into a Drupal theme. You will also learn about using base themes, grid-based layout and helper modules to streamline and customize your Drupal theme.
Trainer Ryan Price has built entertainment sites, social networks, and eCommerce sites for clients including Popular Science, Field and Stream and Outdoor Life magazines. With over 10 years of experience building sites with PHP and other technologies, Ryan began immersing himself in Drupal around 2006. Ryan often teaches and writes articles along with Mike Anello, and the duo is also known for producing the DrupalEasy Podcast with their host Andrew Riley.
Turku loves-storybook-styleguidist-styled-componentsJames Stone
The document discusses different tools for building design systems in React, including Storybook, Styleguidist, and Styled Components. It explains that Storybook is focused on component development and testing ("the workshop"), while Styleguidist generates documentation and is meant to share the design system externally ("the storefront"). Styled Components is presented as a good option for managing CSS in React projects. Examples are provided for each tool to illustrate how they can be used.
This document discusses strategies for managing a Drupal project across multiple environments like development, testing, and production. It recommends using source control to manage code changes, taking database snapshots to migrate data between environments, and programmatically applying administrative changes through custom modules to keep all environments in sync. This systematic approach helps ensure seamless code integration, efficient database changes, and minimal downtime when updating production.
Given at CSS Dev Conf 2014 in New Orleans on October 14, 2014.
This full presentation written with Web Components can be viewed with Chrome 36+ online at http://andrewrota.github.io/web-components-and-modular-css-presentation/presentation/index.html#0.
The source of the presentation is available on GitHub: https://github.com/andrewrota/web-components-and-modular-css-presentation.
How to add functionality to CMS Made Simple using Tags, User-Defined Tags, and Modules. Also includes some previews of how the module API will change with version 2.0
Discovering the Best Indian Architects A Spotlight on Design Forum Internatio...Designforuminternational
India’s architectural landscape is a vibrant tapestry that weaves together the country's rich cultural heritage and its modern aspirations. From majestic historical structures to cutting-edge contemporary designs, the work of Indian architects is celebrated worldwide. Among the many firms shaping this dynamic field, Design Forum International stands out as a leader in innovative and sustainable architecture. This blog explores some of the best Indian architects, highlighting their contributions and showcasing the most famous architects in India.
Mais conteúdo relacionado
Semelhante a Workflow Essentials for Web Development
Layout discovery. Drupal Summer Barcelona 2017Atenea tech
Luis Ortiz Ramos gave a presentation on layout discovery in Drupal 8. Some key points:
- Layouts allow arranging content in flexible, drag-and-drop block regions on pages.
- Early goals were contextual blocks, blocks everywhere, multiple page layouts, and better UI.
- Layout discovery was introduced in Drupal 8.3 as experimental and improved in later versions.
- Modules can define layouts by registering YAML files, themes, classes, or as plugins. Layouts are instantiated and used programmatically or with modules like Display Suite.
Video at http://www.youtube.com/watch?v=HaJnhYPLvx0
Large Drupal projects will generally have a themer or five working alongside the developers, site builders and designers. Themers are the magicians who transform what Drupal wants to do into what the designer wants it to do.
Smaller projects also usually need someone on the team who can make sense of Drupal's output, knows more CSS and JS than anyone else and can configure Views with their eyes closed.
The thing is — and whisper this, if possible redundancy concerns you — we can bypass the themer entirely.
With some simple configuration, a site builder can get Drupal to output exactly the semantic, lightweight markup that any modern front-end designer would be proud of. The designer can be left alone to write the most appropriate HTML, CSS and JS, while the site builder need only choose a couple of options when putting together content types, views and panels to make Drupal behave.
A friendly developer may have to lend a hand every now and then, but that’s it. You can get rid of the themer altogether.
http://2013.drupalcamplondon.co.uk/session/death-themer
Drupal distributions - how to build themDick Olsson
The document discusses how to build Drupal distributions by using tools like Drush Make, install profiles, and exportables. It provides an overview of the key components of a distribution like configuration, third party libraries, install profiles, and exportables. It also demonstrates how to build a distribution and provides tips for using Drush Make, keeping install profiles minimal, organizing exportables, and relying on "broken" handlers for some components.
#4 - CSS Selectors, CSS3 and Web typographyiloveigloo
The document discusses various techniques for digital animation and web typography. It covers CSS selectors and properties, CSS3 modules like borders, shadows and transformations. It also discusses techniques for incorporating web fonts, including using @font-face, different font formats, browser support, and services like Google Web Fonts. The document provides examples and code snippets to demonstrate the different concepts.
The document discusses a scalable and modular architecture for CSS that involves categorizing styles into base, layout, module, and state categories. This approach helps make CSS more flexible, maintainable, and avoids overly specific selectors. Key aspects include naming conventions, limiting the depth of styles, and using child selectors. An example of a "media object" pattern is provided to demonstrate how abstracting styles into reusable modules can significantly reduce code. While this approach goes against some conventional wisdom, it separates structure and skin while promoting reusability.
This document discusses component-driven design and development. It covers topics like components, design systems, CSS methodologies, style guides, and how to implement a component-based approach in Drupal. Specific methodologies discussed include Atomic Design, BEM, OOCSS, SMACSS. It also covers style guides, KSS for generating documentation from code, and various Drupal-specific techniques for building out components like display suite, panels, and code alterations. The overall message is that taking a component and design system approach improves reusability, efficiency, and maintainability of projects.
Writing your own WordPress themes and pluginsStephanie Wells
The document provides guidance on writing WordPress themes and plugins. It outlines steps for setting up a local development environment, learning HTML and CSS, creating a child theme, building a basic theme from scratch, exploring WordPress hooks, identifying needs for new plugins, and writing plugin code. Specific recommendations include using MAMP or XAMPP for local hosting, Codecademy tutorials for learning web languages, Underscores starter theme, and documenting needs and user steps before writing code.
The document discusses enhancing the OpenStack Horizon dashboard user interface with AngularJS. It provides an overview of OpenStack and Horizon architectures, and then describes how to add a new panel to Horizon using AngularJS. Key aspects covered include creating RESTful APIs, controllers, views, and templates to integrate new dynamic and client-side functionality within the existing Horizon framework. The approach allows cleaner separation of client and server code for improved user experience, testing, and development velocity.
Building and Maintaining a Distribution in Drupal 7 with FeaturesNuvole
Drupal 7 allows to easily build and maintain distributions, i.e. repeatable website templates; you can benefit from this in all cases, whether you aim at large-scale deployments or even at maintaining a single website.
We will show how to package core and contributed modules in a distribution by using a Makefile and a profile and keeping them up-to-date during the whole development cycle.
Then you will learn how to use Code-Driven Development to store all settings in a sustainable way: use the Features module to easily describe configuration in code, a proper separation between Features to make your code reusable and extendible, a well-thought design of Features to create easier development patterns, CTools and Exportables to put your configuration in code even when a module does not support it natively.
Last, we will see how the distributions update mechanism allows you to create a new version of your distribution for easy and painless configuration updates of a live site.
Display Suite is a Drupal module that allows users to take full control over how content is displayed using a drag and drop interface without having to work with template files. It provides predefined layouts and allows users to create custom layouts and view modes. Display Suite also features code fields to add custom variables and styles to control field formatting. The module is actively maintained and widely used with thousands of active sites.
This presentation was delivered on 11th May, 2014 in Drupal Camp Pakistan held in DatumSquare IT Services Islamabad. Contents of the presentation contains some basics stuff for designers, themers and coders.
The document provides best practices for developing with Drupal including getting Drupal from version control, updating modules, using revision control, module development practices like understanding prerequisites and hooks, input validation, avoiding direct database queries, theme development practices like available theme engines and template variables, and overriding themeable functions.
This document provides a summary of best practices for front-end development. It discusses semantic HTML, CSS organization and specificity, responsive images, JavaScript performance, and other optimization techniques. Key recommendations include writing semantic HTML first before styling, avoiding inline styles, properly structuring CSS with comments and organization, reducing requests by combining files and using sprites, and placing JavaScript before the closing body tag.
1. The document discusses integrating Webpack into a Django project to bundle static files.
2. It provides an example Django application and shows how to set up basic Webpack configuration to bundle Vue.js and other static files.
3. Additional Webpack features like hot reloading and code splitting are demonstrated to improve the development and production workflows.
Drupal Theme Development - DrupalCon Chicago 2011Ryan Price
This class is intended for people who know some HTML and CSS, and covers the fundamental principles of Drupal theming geared toward people who wish to take a static mockup of a site design and turn it into a Drupal theme. You will also learn about using base themes, grid-based layout and helper modules to streamline and customize your Drupal theme.
Trainer Ryan Price has built entertainment sites, social networks, and eCommerce sites for clients including Popular Science, Field and Stream and Outdoor Life magazines. With over 10 years of experience building sites with PHP and other technologies, Ryan began immersing himself in Drupal around 2006. Ryan often teaches and writes articles along with Mike Anello, and the duo is also known for producing the DrupalEasy Podcast with their host Andrew Riley.
Turku loves-storybook-styleguidist-styled-componentsJames Stone
The document discusses different tools for building design systems in React, including Storybook, Styleguidist, and Styled Components. It explains that Storybook is focused on component development and testing ("the workshop"), while Styleguidist generates documentation and is meant to share the design system externally ("the storefront"). Styled Components is presented as a good option for managing CSS in React projects. Examples are provided for each tool to illustrate how they can be used.
This document discusses strategies for managing a Drupal project across multiple environments like development, testing, and production. It recommends using source control to manage code changes, taking database snapshots to migrate data between environments, and programmatically applying administrative changes through custom modules to keep all environments in sync. This systematic approach helps ensure seamless code integration, efficient database changes, and minimal downtime when updating production.
Given at CSS Dev Conf 2014 in New Orleans on October 14, 2014.
This full presentation written with Web Components can be viewed with Chrome 36+ online at http://andrewrota.github.io/web-components-and-modular-css-presentation/presentation/index.html#0.
The source of the presentation is available on GitHub: https://github.com/andrewrota/web-components-and-modular-css-presentation.
How to add functionality to CMS Made Simple using Tags, User-Defined Tags, and Modules. Also includes some previews of how the module API will change with version 2.0
Semelhante a Workflow Essentials for Web Development (20)
Discovering the Best Indian Architects A Spotlight on Design Forum Internatio...Designforuminternational
India’s architectural landscape is a vibrant tapestry that weaves together the country's rich cultural heritage and its modern aspirations. From majestic historical structures to cutting-edge contemporary designs, the work of Indian architects is celebrated worldwide. Among the many firms shaping this dynamic field, Design Forum International stands out as a leader in innovative and sustainable architecture. This blog explores some of the best Indian architects, highlighting their contributions and showcasing the most famous architects in India.
Practical eLearning Makeovers for EveryoneBianca Woods
Welcome to Practical eLearning Makeovers for Everyone. In this presentation, we’ll take a look at a bunch of easy-to-use visual design tips and tricks. And we’ll do this by using them to spruce up some eLearning screens that are in dire need of a new look.
Explore the essential graphic design tools and software that can elevate your creative projects. Discover industry favorites and innovative solutions for stunning design results.
Architectural and constructions management experience since 2003 including 18 years located in UAE.
Coordinate and oversee all technical activities relating to architectural and construction projects,
including directing the design team, reviewing drafts and computer models, and approving design
changes.
Organize and typically develop, and review building plans, ensuring that a project meets all safety and
environmental standards.
Prepare feasibility studies, construction contracts, and tender documents with specifications and
tender analyses.
Consulting with clients, work on formulating equipment and labor cost estimates, ensuring a project
meets environmental, safety, structural, zoning, and aesthetic standards.
Monitoring the progress of a project to assess whether or not it is in compliance with building plans
and project deadlines.
Attention to detail, exceptional time management, and strong problem-solving and communication
skills are required for this role.
14. 14
1. Sit Down with the
Designer
a. Talk through
interactions
2. Develop a prototype
3. Test functionality
4. Think through the
breakpoints
5. Don’t fear — offer
suggestions
Important
Things To Do
24. Thinking in Terms of Accessibility Can Help
ARIA landmarks and regions
These allow users to jump directly to portions of page, like the
navigation, main body, and banner/header.
Retrieving a list of page links
A list of page links can be useful for pages that have a flat structure with
a lot of links, like a home page.
Navigating through the headings
Most screen readers allow the user to navigate through the various
heading levels of a page.
24
26. Native HTML semantics should still
be used whenever possible, but ARIA
is useful when certain design
patterns or interactions make it
impossible to do so.
26
27. Landmark Roles
One of the easiest ARIA
features to implement,
and one that provides
significant immediate
benefits to screen reader
users, is landmark roles.
HTML5 Aria Role
<header> role=”banner”
<nav> role=”navigation”
<main> role=”main”
<footer> role=”contentinfo”
<aside> role=”complementary”
none role=”search”
<form> role=”form”
HTML5 elements and corresponding
ARIA roles
27
28. Landmark Roles – HTML 5
<header role="banner">
<p>Put company logo, etc. here.</p>
</header>
<nav role="navigation">
<ul>
<li>Put navigation here</li>
</ul>
</nav>
<main role="main">
<p>Put main content here.</p>
</main>
<footer role="contentinfo">
<p>Put copyright, etc. here.</p>
</footer>
28
29. Landmark Roles - HTML
<div role="banner">
<p>Put company logo, etc. here.</p>
</div>
<div role="navigation">
<ul>
<li>Put navigation here</li>
</ul>
</div>
<div role="main">
<p>Put main content here.</p>
</div>
<div role="contentinfo">
<p>Put copyright, etc. here.</p>
</div>
29
30. Multiple Roles
If a role is used more than once on a page, the aria-
label attribute should also be used in order to
distinguish between the two regions.
<nav role="navigation" aria-label=”Main Navigation”>
<ul>
<li>Put navigation here</li>
</ul>
</nav>
<nav role="navigation" aria-label=”User Menu”>
<ul>
<li>Put navigation here</li>
</ul>
</nav>
30
31. Heading structure
Use the H1, H2,…H6 tags as indicators of section
headings and subheadings within a document.
31
32. Heading structure was
developed not to assist
formatting but to provide
information on the structural
hierarchy of a document.
32
35. Heading Structure - CSS
If you need a heading to look bigger or smaller to
match a specific style, use CSS to override the default
size.
<h2 class="h1">Lorem Ipsum Dolor</h2>
<h3 class="h2">Lorem Ipsum Dolor</h3>
<h4 class="h3">Lorem Ipsum Dolor</h4>
<h5 class="h4">Lorem Ipsum Dolor</h5>
<h6 class="h5">Lorem Ipsum Dolor</h6>
h1,.h1 { font-size:36px}
h2,.h2 { font-size:30px}
35
37. Forms
Label controls
<label for="f_name">First Name</label>
<input id="f_name" name="f_name" type="text">
Group controls (with fieldset and legend)
<fieldset>
<legend>How many donuts would you like?</legend>
<label for="donut_1">One</label>
<input id="donut_1" name="dn" type="radio" value="1">
<label for="donut_2">One dozen</label>
<input id="donut_2" name="dn" type=”radio” value="12">
</fieldset>
37
38. Forms continued
38
Instructions
● Ex: All fields marked “required” must be completed.
● Ex: Date of Birth (MM/DD/YYYY)
Validation and user notifications
<label for="email">Email (required): </label>
<input type="email" name="email" id="email" required>
40. Using Lists - Navigation
Use lists for navigation items to group the elements
and adds to the accessibility of the nav.
● Home
● IT Governance
○ IT Governance
○ Committees
○ Members
○ Calendar
○ Purpose
40
41. Lists are used to group
together related pieces of
information so they are clearly
associated with each other and
easy to read.
41
47. ● Add Folder with SCSS
files
● Give CSS files output
location
● Leave compiler open and
your file compiles every
time you save
47
Using a Compiler
48. SASS Variables
Control commonly used values in a single location.
Same value NOT repeated dozens if not hundreds of
times across your stylesheets
48
61. Common files Variable SASS file for
colors
Common padding
sizes, text sizes
Components and
elements
Create files that can be shared
across projects
61
64. Making an accessible site doesn’t
mean that you have to decide
whether to use JavaScript or not.
Accessibility is about making content
available to as many people as
possible.
64
Manuel Matuzovic
68. Reasons to
add focus
68
● Opening and
closing elements
(Off canvas menu)
● Adding and
removing elements
to the page
(Alerts and Modals)
69. Adding focus
to non-
focusable
elements
By default block level elements do
not have focus.
Ex. div, span, p, table
69
<div tabindex="0">
...
</div>
It’s possible to make non-focusable
elements focusable by adding the
tabindex attribute with an integer
value. If the value is set to 0 the
element becomes focusable and
reachable via keyboard.
70. Adding and
returning
focus
Example
// Variable for storing the last focused element
var lastFocusedElement;
function showModal() {
...
// Store the last focused element
lastFocusedElement = document.activeElement;
var modal =
document.getElementById(modalID);
modal.focus();
...
}
70
function removeModal() {
...
// Return the focus to the last focused
element
lastFocusedElement.focus();
...
}
75. The alert role is used to communicate an
important and usually time-sensitive message
to the user. When this role is added to an
element, the browser will send out an
accessible alert event to assistive technology
products which can then notify the user about
it.
75
79. Alert
Properties
<div id=”page_alert” role="alert"
aria-live="assertive" tabindex="-1">
...
</div>
79
Assertive alerts need immediate
attention and interrupts the screen
reader.
<div id=”page_alert” role="alert"
aria-live="polite" tabindex="-1">
...
</div>
Polite alerts need less attention and
wait until the screen reader has
concluded speaking
80. Banner Alert
Example
The banner:
● receives the focus on
page load
● Includes the link to the
form field(s) with the error
80
<div class="alert alert--error shake is-animating" role=”alert" aria-live="assertive" tabindex="-
1">
<p>There are errors in the following fields:</p>
<ul>
<li>
<a href="#id_identifier">Universal Identification Number (UIN) / Token</a>
</li>
...
</div>
81. Field Alert Example
The form field:
● Change it’s aria-
invalid=”true”
● Change or add aria-
describedby to alert ID
or any error text that
describes the field
81
<input type="text" name="identifier" value="g" required="" placeholder="Enter your UIN/Token"
id="id_identifier" class="invalid" aria-invalid="true" aria-describedby="id_identifier_errors">
85. Test before beginning project
Discover Design Develop Deploy Success
User
Experience
Testing
● Competitive and Data Analysis
(Google Analytics and Alexa)
● User studies, focus groups & surveys
● Personas
● Card sorting
● Flow diagrams/task analysis
● Contextual interviews
85
86. Test your design
Discover Design Develop Deploy Success
User
Experience
Testing
● Field Studies - Test with actual people
● Desirability Studies - Test who a person feels about design
● Usability - Review features to match end goal
86
87. Test after deployment
Discover Design Develop Deploy Success
User
Experience
Testing
● User Testing - Ask people to use the site
● Monitor analytics
● Usability & Accessibility Assessment
● A/B testing
● Help desk or ticketing system
● Survey
● Automated testing
87
88. Know the goal of
the user test
88
What are you trying to discover from your users?
What is the best way to find out the information?
89. What to do for
user testing
89
Create a Plan
Develop a purpose document
for your user testing.
Example Test Plan
Write out questions
Think about your user flow and
create questions that will allow
your user to provide honest
feedback.
Think through
methods of testing
Determine which method of
testing will be best for the type
of feedback requested.
90. What to give
to users
90
Emails
Invite the users to your testing
for both online and in-person
Example 1 | Example 2
Create a purpose document
for the user
Tell the individual exactly what
the test is about and provide
parameters
Example document
Offer something
Pizza, cookies, candy, or $10
gift card
93. Tree Test
Ensuring your navigation is user-friendly
93
https://bananacom.optimalworkshop.com/treejack/bananacom-demo-survey
94. First-click Test
Testing if people understand where to click on a design
94
https://bananacom.optimalworkshop.com/chalkmark/bananacom-demo-survey/instructions
98. In-person Test Types
98
One-on-one
Allows you to talk to one-one-one
with an individual and walk through
your user tests. Allows for honest
and unbiased answers.
I typically do this with
faculty or staff
Group/Focus Group
Allows you to focus on general
reactions to questions and often you
get multiple view points at once.
Great for testing functionality
problems with your user tests. 5 - 8
students is the perfect size.
I typically do these with
students, with my team, or
owners of a project
100. Email
Example 1 | Example 2
Questions
Example question/script
Presentation
Example presentation
Feedback form
Example form
100
Example
Documents
for
In-person
User testing