Uploading Folders & Images
Upload Technology Decision
Our decision is to move forward with Browser embedded Flash for the File Upload component using a very interesting open-source Flash component, SWFUpload. Full details on the component can be found at: http://swfupload.org.
Basically SWFUpload offers up no user interface of it's own but instead works as a stub that brings up the standard OS Open File dialog. Then once the user has selected their files, they Flash component returns the list of file to the page and all the user interaction is handled through via markup and javascript via a sophisticated Javascript API.
This approach mitigates any accessibility issues with Flash since the UI will be primarily HTML, assuming that the OS handles the accessibility of the File Open dialog. We will still have our hands-full with making the markup accessible but at least it's a problem that we understand.
Background for this decision:
The file and folder upload options are:
- Web browser HTML
- Javascript enhanced HTML (DHTML/Ajax)
- Browser embedded Flash
- AIR aka. Desktop Flash or HTML/Javascript (formerly Macromedia's Apollo Project)
- Browser embedded Java
- Desktop Java
Browser embedded Flash
Features:
- Ability to select multiple items using the standard OS file picker
Examples:
- Flickr:
- SWFUpload:
- Open source (MIT license) Flash / JavaScript library to take advantage of Flash 9 multiple-upload capabilities.
- The jQuery UI folks appear to be building a jQuery extension for this library but no new work has been checked in since 10/20/07 so the status isn't clear. But that doesn't preclude us doing something on our own using this same library.
Concerns:
- Opensourc-i-ness: Although many aspects of Flash are open source. Flash is still considered by most to be a proprietary format, owned and controlled by Adobe.
- Accessibility: Adobe has made great improvements to accessibility in Flash 8, but the reality on the ground is that it is still a lot of work to make Flash accessible.
- Abobe's Flash CS3 Accessibility documentation
- Flash 8 Best Practices:Guidelines for Accessibility in Flash (.html, 4 pages, Overview)
- Best Practices for Accessible Flash Design (Aug 2005, .pdf, 32 pages, Detailed)
- Detailed analysis from a developer of his experience with the accessibility features of Flash(from Aug 15, 2007).
- Abobe's Flash CS3 Accessibility documentation
Abobe Air (Desktop HTML-Javascript and/or Flash)
I'm assuming that all the accessibility issues with regular Flash are true in AIR.