[go: up one dir, main page]

About jQuery UI


jQuery UI is a curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library. Whether you're building highly interactive web applications or you just need to add a date picker to a form control, jQuery UI is the perfect choice.

link Vision and Goals

link Collaborative design process

The process for designing and planning the future of the jQuery UI library should be open, transparent and in the hands of the community. We welcome input from anyone interested in engaging with the team, from hard-core developers to visual and interaction designers, accessibility experts, product managers, business people, end users and more.

link Flexible styling and themes

Widgets should provide hooks to enable developers to customize both behavioral and presentational aspects. Transition animations should be optional and customizable. Class names used on internal elements should be meaningful to jQuery UI users and enable styling either through ThemeRoller or hand-written CSS via the jQuery UI CSS Framework. As much as possible, style attributes should be separated into the plugin's CSS, not within the scripts in order to make customization simple and clear. Widgets styles should be coded with proportional (em-based or % based) sizing and should re-flow horizontally to fill the space provided.

link Elegant visual and interaction design

All widgets should be designed for simplicity, ease of use and aesthetics. We aim to synthesize best practice examples from mobile and desktop OS, web applications and a bit of common sense to create a robust and flexible set of UI widgets that is visually coherent and consistent in behavior. Features should be pared down to focus on what is practical and commonly needed with a system for extending features through customization.

link Elegant API

The jQuery UI API is designed to be as simple and intuitive as the jQuery API. You find elements using a query selector, then call a succinct method on the resultant set. There are suitable defaults to cover the most common use cases, so quite often it's not necessary to specify any non-default options. All options are optional.

link Progressive enhancement

Since we're developing non-native HTML controls, widgets should be built in such a way that users on browsers and devices that are unable to support JavaScript can still interact with the website or application. Most of the current set of UI widgets follow the best practice of progressive enhancement and we're working to extend that pattern to widgets that don't. In most cases, advanced components can be generated from HTML primitives (i.e. slider from select menu, radio set, or text input), and as the UI library paired with the most popular JavaScript library in the world, we should lead by example in this area. Any UI widget that sits within the flow of a form should be able to store data using semantic HTML elements so the form can be submitted or serialized normally. jQuery UI components should follow the unobtrusive practices put forth by jQuery itself, and should attempt to be forward-looking in its attempts to normalize across browsers and devices (test for features/bugs, not browser sniffing).

link Deep accessibility support

Widgets should also be accessible to JavaScript-capable users who have disabilities such as blindness or deafness (should we ever venture into the arena of audio/video integration, for instance). We attempt to make components accessible through the use of semantic HTML elements within components and following the guidelines specified in the WAI-ARIA spec. Any image-based actions within widgets should provide text equivalents (close icons, expand/collapse icons, etc. should have title attributes at the least).

link Internationalization and localization

Given the global audience for jQuery UI, we should embrace the ability to make our plugins work in a variety of languages and cultures. By abstracting language away from the core plugin code and providing options for supporting cultural differences (right to left reading orientation, date and currency formats, iconography, etc.) we can build in the flexibility needed for a global community.

link jQuery UI Team

There's a lot of work that goes into making jQuery UI the most successful UI library for the Web. Between API design, visual design, implementation, ticket triage, bug fixing, developer relations, infrastructure, and everything else, most of the work is done by volunteers. We'd like to recognize the most prominent contributors below, for a full list of all contributors, see the authors list.

link Alex Schmitz — Project Lead

Alex is the Project Lead for jQuery UI, jQuery Mobile, and Hammer.js and is a team member on the Chassis CSS Framework, and PEP ( Pointer Events Polyfill ) projects, in addition he assists the jQuery Infrastructure and Content Teams. Alex works for Clipper Digital as the Senior front end architect. Alex is a passionate and vocal advocate of accessibility, open source technology, and the future of mobile web.

link Jörn Zaefferer — Development Lead

Jörn is a freelance web developer, consultant and trainer, residing in Cologne, Germany. Jörn evolved jQuery’s testsuite into QUnit, a JavaScript unit testing framework, and maintains it. He created and maintains a number of popular plugins. As a jQuery UI development lead, he focuses on the development of new plugins, widgets and utilities.

link Felix Nagel

Felix is a freelance web developer specializing in TYPO3 CMS and Symfony2 development. He is currently living in Dresden, Germany. Felix has built the Selectmenu widget and is currently working on the Datepicker widget.

link Mike Sherov

Mike is a Senior Software Engineer at Behance, from Plainview, New York. Mike is involved in bug fixing, testing, and code quality efforts across the jquery suite of projects. He focuses his efforts around the CSS/JS interactions and interacts with standards bodies and browser vendors to move the web forward.

link Rafael Xavier de Souza

Xavier rewrote Globalize on top of CLDR and is now its project lead. He also rewrote and maintains jQuery UI's download builder and ThemeRoller. He has a B.S. in Computer Science from University of Sao Paulo, Brazil. He was a Software Engineer at IBM, where he lead the brazilian team of Q&A and Performance at Linux Technology Center.

link Contributors (Past & Present)

link Aaron Eisenberger

link Adam J. Sontag

link Alex Dovenmuehle

link Ca-Phun Ung

link Chi Cheng

link Cody Lindley

link Colin Clark

link Corey Frang

link Dan Heberden

link David Bolter

link David Petersen

link Eduardo Lundgren

link Hans Hillen

link Keith Wood

link Klaus Hartl

link Kris Borchers

link Maggie Costello Wachs

link Marc Grabanski

link Michelle D'Souza

link Patty Toland

link Paul Bakaus

link Paul Irish

link Ralph Whitbeck

link Rich Caloggero

link Richard D. Worth

link Scott González

link Scott Jehl

link Thomas Klose

link TJ VanToll

link Todd Parker