Skip to content

rtstewart/web-components

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Web Components

Web Components are a concept used in modern web development to break a web application into small, more-easily manageable parts. A Web Component is a small, visual template created with the intention of re-using it. This will be a repository for maintaining all web components that I create.

This README.md will be updated with various notes and resources over time.

Vendor Prefixes

/* Android, Chrome, iOS, Safari */
-webkit-
-webkit-transition: all 0.30s ease-in-out;

/* Firefox */
-moz-
-moz-transition: all 0.30s ease-in-out;

Internet Explorer */
-ms-
-ms-transition: all 0.30s ease-in-out;

/* Opera */
-o-
-o-transition: all 0.30s ease-in-out;

Accessibility

Of interesting note is that keyboard accessibility can be improved/added through the addition of the tabindex attribute to an element that would otherwise not show the accessibility outline when receiving focus as do most form elements.

First and foremost, if we want to capture input from the keyboard, we’ll need to use elements that can accept the focus: primarily links (<a>) and form controls (<input>, <select>, <textarea> and <button>). [[18]][ref18]

But suppose we need to have other elements capture input/show focus from the keyboard - like a <div>?

I quickly thought about simply adding the tabindex attribute to an element and after some preliminary tests in FF2/Win and IE7/Win it seems that's all that is necessary to make an element focusable.

The tabindex value can allow for some interesting behaviour.

  • If given a value of "-1", the element can't be tabbed to but focus can be given to the element programmatically (using element.focus()).
  • If given a value of 0, the element can be focused via the keyboard and falls into the tabbing flow of the document.
  • Values greater than 0 create a priority level with 1 being the most important.

I tend to shy away from trying to declare any tabindex as the regular document flow should be predictive enough but if creating a JavaScript-enabled interface, there may be times where tying something to a link actually doesn't make the most sense and having an element be able to receive focus via the keyboard as well as from the mouse can only be a good thing. - ACCESSIBILIY! - Making Elements Focusable with Tabindex

References - Accessibility
Resource Title
Accessibility - on developer.mozilla.org
Using the aria-describedby attribute - on developer.mozilla.org
ARIA1: Using the aria-describedby property to provide a descriptive label for user interface controls - w3.org
HTML elements - Screen reader compatibility
Accessibility Basics: How Does Your Page Look To A Screen Reader?
Designing for Screen Reader Compatibility
HTML5 and ARIA: Accessibility Benefits and Support
Tabbing navigation - w3.org
ACCESSIBILIY! - Making Elements Focusable with Tabindex
Accessible JavaScript: Beyond the Mouse
Testing the Accessibility of the CSS Generated Content
Accessible Colors - foreground color vs. background color test
References - Other
Resource Title
Mozilla Developer Network - most broad topic index page
W3 Schools
CSS Tricks - CSS tricks and tips
Codrops - tips, tricks, inspirational websites and more
HTML - developer.mozilla.org
caniuse.com - check if certain features are supported in major browsers
learn.shayhowe.com - good tutorial source
HTML5 Rocks - great tutorial source
HTML Developer Guide - developer.mozilla.org
CSS - developer.mozilla.org
CSS Developer Guide - developer.mozilla.org
Writing efficient CSS - develper.mozilla.org
[CSS] Selectors Level 3 - w3.org
Index of standard pseudo-classes - developer.mozilla.org
Pseudo-elements - developer.mozilla.org
CSS Positioning - developer.mozilla.org
Visual formatting model - w3.org (nicely indexed)
Introduction to Web Components - w3.org
Web Components - developer.mozilla.org
Web components tutorial
Web components: present and future in web development
HTML 5.1 W3C Working Draft
Materializecss.com - buttons
Material Design - google.com
Materializecss.com - A modern responsive front-end framework based on Material Design
Using CSS Variables - developer.mozilla.org
Color Converter - convert name, hex, rgb, hsl, hwb, cmyk, ncol, to any other]
Color Picker - use to get shades along with above
CSS Vendor Prefixes
It’s Time to Rethink Vendor Prefixes in CSS
Pseudo-classes - developer.mozilla.org
CSS Selector Reference - w3schools.com
Google Design Resources
Introduction to Touch events in JavaScript
HTML5 for the Mobile Web: Touch Events
CSS Specifications - w3.org
CSS Template Layout Module - w3.org
CSS Floats 101
CSS Shapes 101
Styling lists and links - w3.org
Creating Lists - learn.shayhowe.com
How to create a simple CSS3 tooltip
Interactive reference of 14,500 HTML character entities
Media Queries: Width vs. Device Width - sitepoint.com
Use CSS media queries for responsiveness - developers.google.com
Defining Breakpoints - responsivedesign.is
Media Queries - foundation.zurb.com
Understanding CSS Grid Systems from the Ground Up - sitepoint.com
Using data attributes - developer.mozilla.org
Material Design - Style - Color on Google
Is there a “previous sibling” CSS selector? - see solution using flex
CSS Zen Garden
Create DIV Boxes with Arrows and Pointers, using CSS
CSS Triangle - css-tricks.com
CSS3 Patterns Gallery - Lea Verou
Using CSS flexible boxes - developer.mozilla.org
A Complete Guide to Flexbox
Using Flexbox: Mixing Old and New for the Best Browser Support
Responsive Design Checker
Unquoted attribute value validator
Standard 140 CSS color names
References - Forms
Resource Title
HTML forms guide - developer.mozilla.org
Styling HTML forms - developer.mozilla.org
Flat UI and Forms
Data form validation - developer.mozilla.org
Forms - HTML5 - w3.org

About

A repository intended to be developed into a set of reusable web application widgets

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published