2005.07.20

Opera 8: Max Value for Text Indent

Nick Rigby discovers and writes that Opera 8 has a maximum text-indent value of 32697 pixels.

Clearly this is an edge case and not all that common, but those that use the "off-left" technique might find something familiar in his quote:

There would be no need to ever use a value this large, but I happened to be using -9999em originally, which, depending on the default font-size of the document, is a lot more than this limit value. Hence, it did not work in Opera 8.

Anyways, just a little tip for your toolbox.

Posted by Nate Koechley on July 20, 2005 at 02:55 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Web Development | Permalink | Comments (2) | TrackBack

2005.07.18

DOM Scripting Task Force - WaSP

Once again the fine folks at the Web Standards Project are helping us all move the industry forward, this time with the launch of their DOM Scripting Task Force as announced in their buzz archive today.

"The skillset of a front end programmer is a three-legged stool: structure (XHTML) is the first leg, presentation (CSS) the second, and behavior (DOM Scripting) the third," said Peter-Paul Koch, a prominent scripting expert and one of the founders of the task force. "These three legs should be equal, but at the moment the behavior leg is the shortest, least-valued and least-understood of the three, even though the DOM has been a W3C specification for seven years and enjoys relatively solid browser support."

They have a press release, a manifesto, and of course a website.

These topics aren't anything new necessarily, but it's good to see more and more developers picking up the torch. For more reading on this/these topics, check out these other posts from my blog: The Behavior Layer, Unobtrusively, and Semantic Markup - Create, Support and Extract.

If you eat and breath these topics, I'd love to hear from you and your resume.

Posted by Nate Koechley on July 18, 2005 at 05:17 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Engineering, Layered Semantic Markup, Web Development | Permalink | Comments (0) | TrackBack

DOM Scripting Task Force - WaSP

Once again the fine folks at the Web Standards Project are helping us all move the industry forward, this time with the launch of their DOM Scripting Task Force as announced in their buzz archive today.

"The skillset of a front end programmer is a three-legged stool: structure (XHTML) is the first leg, presentation (CSS) the second, and behavior (DOM Scripting) the third," said Peter-Paul Koch, a prominent scripting expert and one of the founders of the task force. "These three legs should be equal, but at the moment the behavior leg is the shortest, least-valued and least-understood of the three, even though the DOM has been a W3C specification for seven years and enjoys relatively solid browser support."

They have a press release, a manifesto, and of course a website.

These topics aren't anything new necessarily, but it's good to see more and more developers picking up the torch. For more reading on this/these topics, check out these other posts from my blog: The Behavior Layer, Unobtrusively, and Semantic Markup - Create, Support and Extract.

If you eat and breath these topics, please send me your resume.

Posted by Nate Koechley on July 18, 2005 at 12:25 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Design, Engineering, Layered Semantic Markup, Web Development | Permalink | Comments (0) | TrackBack

2005.06.27

Rendering CSS Efficiently - Insider Tips from Safari

I just came drown from altitude in the Himalayas, so I'm admittedly pretty far behind in my technology reading, email maintenance and blogging. That said, in beginning to catch up I came across this complex and interesting post from David Hyatt on his Surfin' Safari blog. For those of you that have been paying attention, Hyatt is a leading browser developer, having worked on Gecko at AOL, and in his current position largely responsible for the magic in Safari and Web Core.

His post deals with the challenges of rendering CSS:

One of the most interesting problems (to me at least) in browser layout engines is how to implement a style system that can determine the style information for elements on a page efficiently.

Hyatt has created a new, more efficient algorithm for doing this (and a few other related things). For the algorithm to work, it checks ten features of each DOM node. I'm blogging this because it presents a new optimization opportunity for web developers. By being mindful of these 10 items, and not needlessly failing the 10 tests, we'll take advantage of these new rending efficiencies in Safari. These aren't revolutionary steps, but there are situations where they will certainly be the tie-breaker between alternate approaches.

There are a number of conditions that must be met in order for this sharing to be possible:

  1. The elements must be in the same mouse state (e.g., one can't be in :hover while the other isn't)
  2. Neither element should have an id
  3. The tag names should match
  4. The class attributes should match
  5. The set of mapped attributes must be identical
  6. The link states must match
  7. The focus states must match
  8. Neither element should be affected by attribute selectors, where affected is defined as having any selector match that uses an attribute selector in any position within the selector at all
  9. There must be no inline style attribute on the elements
  10. There must be no sibling selectors in use at all. WebCore simply throws a global switch when any sibling selector is encountered and disables style sharing for the entire document when they are present. This includes the + selector and selectors like :first-child and :last-child.

In web development there are often 6 different similar ways to do the same thing. What makes a good web developer is continually choosing the best of nearly-indistinguishable paths. These insider tips from Hyatt give us a more complete understanding of the guts of the browsers, and will help us choose the best methods.

Read about it in his own words here: http://weblogs.mozillazine.org/hyatt/archives/2005_05.html#007507

Posted by Nate Koechley on June 27, 2005 at 12:42 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Layered Semantic Markup, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.04.08

Awesome Firefox Extensions

Anthony Lieuallen of Arantius.com has a great page called Awesome Firefox Extensions. If you're new to Firefox or extensions, or are interested in finding some great new one, definitely head over there to check it out.

One extension not listed that I would personally recommend is Target Alert. This extension adds a small icon next to any links that aren't to standard web pages. For example, it inserts a small envelope icon next to any email links, and a small PDF icon next to any .pdf links. (The PDF alert is particularily useful, since loading a PDF is slow sluggish and I often want to avoid it all together!) It offers alerts for many file extension (you can turn on and off as needed), and also alerts to links that will open new windows. The new window alert is great, because I then know to press alt-shirt to force the load into a new tab instead of a new browser window.

Anyways, I've been meaning to publish my recommended list of extensions, but this will have to do for now.

Posted by Nate Koechley on April 8, 2005 at 04:31 PM in Accessibility, Internationalization, CSS Media Types, Browsers, HOWTO's and Tutorials, References, Software and Tools, Web Development | Permalink | Comments (1) | TrackBack

2005.04.07

Three Weeks of W3C

Below are pointers to about a dozen activites coming out of the World Wide Web Consortium over the last three weeks. You can follow along on their homepage or with their feed. Standards-based design and development can be about more than using existing standards; in the best cases, it's about helping to create the standards in the first place! By being aware of the work underway at the W3C, you can have a good sense of where the industry and technologies are going, even if you don't get your hands dirty in any of the working groups.

Three Weeks Worth


Working Draft: SVG's XML Binding Language (sXBL)

2005-04-06: The Scalable Vector Graphics (SVG) Working Group and the CSS Working Group have released a third Working Draft of SVG's XML Binding Language (sXBL). The sXBL language defines the presentation and interactive behavior of elements outside the SVG namespace. The XBL task force welcomes comments and seeks feedback on three issues outlined in the status section. Visit the SVG and CSS home pages. (News archive)

Last Call: XQuery, XPath and XSLT

2005-04-04: The XML Query Working Group and the XSL Working Group released twelve Working Drafts for the XQuery, XPath and XSLT languages. Seven are in last call through 13 May. Important for databases, search engines and object repositories, XML Query can perform searches, queries and joins over collections of documents. XSLT transforms documents into different markup or formats. Both XQuery and XSLT 2 use XPath expressions and operate on XPath Data Model instances. Visit the XML home page. (News archive)

Working Draft: Compound Document Use Cases and Requirements

2005-04-04: The Compound Document Formats Working Group has released an updated Working Draft of Compound Document by Reference Use Cases and Requirements Version 1.0. A compound document combines multiple formats, such as XHTML, SVG, XForms, MathML and SMIL. This draft introduces compounding by a reference like img, object, link, src and XLink. Compounding by inclusion is planned for a later phase. Visit the Compound Document home page. (News archive)

Last Call: Web Services Addressing

2005-03-31: The Web Services Addressing Working Group has released two Last Call Working Drafts. Web Services Addressing - Core enables messaging systems to support transmission through networks that include processing nodes such as endpoint managers, firewalls, and gateways. SOAP Binding defines the core properties' association to SOAP messages. Visit the Web services home page. (News archive)

XML Binary Characterization Notes Published

2005-03-31: The XML Binary Characterization Working Group has released its evaluation, recommending that W3C produce a standard for binary interchange of XML. Published today as a Working Group Note, XML Binary Characterization is supported by use cases, properties and measurement methodologies. Optimized serialization can improve the generation, parsing, transmission and storage of XML-based data. Visit the XML home page. (News archive)

Upcoming W3C Talks

2005-03-31: Browse W3C presentations and events also available as an RSS channel. (News archive)

Last Call: XML Schema Component Designators

2005-03-29: The XML Schema Working Group has released a Last Call Working Draft of XML Schema: Component Designators. Comments are welcome through 26 April. The document defines a scheme for identifying the XML Schema components specified by the XML Schema Recommendation Part 1 and Part 2. Visit the XML home page. (News archive)

Working Draft: RDF/Topic Maps Interoperability

2005-03-29: The Semantic Web Best Practices and Deployment Working Group has released the First Public Working Draft of A Survey of RDF/Topic Maps Interoperability Proposals. The document is a starting point for establishing standard guidelines for combined usage of the W3C RDF/OWL family and the ISO family of Topic Maps standards. The group expects to publish Survey and Guidelines Working Group Notes based on this draft. Visit the Semantic Web home page. (News archive)

RDF Data Access Use Cases and Requirements Updated

2005-03-25: The RDF Data Access Working Group has released an updated Working Draft of RDF Data Access Use Cases and Requirements. The draft suggests how an RDF query language and data access protocol could be used in the construction of novel, useful Semantic Web applications in areas like Web publishing, personal information management, transportation and tourism. The group invites feedback on which features are required for a first version of SPARQL and which should be postponed in order to expedite deployment of others. Visit the Semantic Web home page. (News archive)

C

all for Participation: W3C Workshop on XML Schema 1.0 User Experiences

2005-03-23: Position papers are due 20 May for the W3C Workshop on XML Schema 1.0 User Experiences to be held 21-22 June in Redwood Shores, California, USA. Schema authors and users, developers and vendors of schema-aware code generators, middleware, validators, and the W3C XML Schema Working Group will gather to discuss user experience with XML Schema 1.0. The workshop goal is to arrive at plan of action for XML Schema 1.0 interoperability, errata and clarification. Read about W3C workshops and visit the XML home page. (News archive)

Last Call: Timed Text Distribution Profile

2005-03-21: The Timed Text (TT) Working Group has released a Last Call Working Draft of the Timed Text (TT) Authoring Format 1.0 Distribution Format Exchange Profile (DFXP). The format enables authors and authoring systems to interchange style, layout and timing associated with text. DFXP helps to transform and distribute subtitles and captions to legacy systems. Comments are welcome through 11 April. Visit the Synchronized Multimedia home page. (News archive)

Working Draft: Compound Document Use Cases and Requirements

2005-03-15: The Compound Document Formats Working Group has released the First Public Working Draft of Compound Document by Reference Use Cases and Requirements Version 1.0. A compound document combines multiple formats, such as XHTML, SVG, XForms, MathML and SMIL. This draft introduces compounding by a reference like img, object, link, src and XLink. Compounding by inclusion is planned for a later phase. Visit the Compound Document home page. (News archive)

Working Draft: Timed Text Distribution Profile

2005-03-14: The Timed Text (TT) Working Group has released an updated Working Draft of the Timed Text (TT) Authoring Format 1.0 Distribution Format Exchange Profile (DFXP). The format enables authors and authoring systems to interchange style, layout and timing associated with text. DFXP helps to transform and distribute subtitles and captions to legacy systems. Visit the Synchronized Multimedia home page. (News archive)

Call for Participation: W3C Workshop on Frameworks for Semantics in Web Services

2005-02-10: Position papers are due 22 April for the W3C Workshop on Frameworks for Semantics in Web Services to be held 9-10 June in Innsbruck, Austria. Participants will discuss possible future W3C work on a comprehensive and expressive framework for describing all aspects of Web services. The workshop's goal is to envision more powerful tools and fuller automation using Semantic Web technologies such as RDF and OWL. Read about W3C workshops and visit the Web services home page. (News archive)

Posted by Nate Koechley on April 7, 2005 at 01:15 AM in Accessibility, Internationalization, CSS Media Types, Browsers, News, References, Search, Search Engines, Search Engine Optimization (SEO), Social Networking and Community, Software and Tools, Web Development, Yahoo! | Permalink | Comments (0) | TrackBack

2005.04.06

More Mac, More Firefox

John Battelle points to the updated Yahoo! toolbar and let's out a big "Yeeeehaw!" because it supports Mac users via Firefox.

Those involved in promoting standards-based developments are happy with each of these wins that directly benefit users. Way to go Yahoo! Toolbar.

Posted by Nate Koechley on April 6, 2005 at 03:44 AM in Accessibility, Internationalization, CSS Media Types, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools, Web Development, Yahoo! | Permalink | Comments (0) | TrackBack

2005.03.09

Internet Explorer and Accessibility

From the IEBlog:

Today I wanted to talk about three aspects of accessibility as they relate to IE and Windows in general. First is access to the Windows OS for individuals with disabilities, second are a couple of hints for users of screen readers using IE in XPSP2 and finally is a request for feedback to help guide our development in IE7 and beyond.

While it's fun to pan Microsoft, and particularily, in my circles at least, Internet Explorer, I have to give them some credit for leaving comments enabled on their blog. It would be even better if they responded to some of the comments - a comment is more valuable if it initiates dialog - but at least they're doing an ok job experimenting in the blog space. It can't be a bad thing.

Posted by Nate Koechley on March 9, 2005 at 03:09 PM in Accessibility, Internationalization, CSS Media Types, Blogging, RSS, Browsers, Web Development | Permalink | Comments (0) | TrackBack

W3C: Working Draft: CSS3 Backgrounds and Borders

The CSS Working Group has released a Working Draft of CSS3 Backgrounds and Borders Module. The Cascading Style Sheets (CSS) language is used to render structured documents like HTML and XML on screen, on paper and in speech. Replacing two separate CSS3 modules, the draft proposes CSS Level 3 functionality including borders consisting of images and backgrounds with multiple images. (emphasis mine)

It's great to see work continue in these areas. It's due to their move to modularity that components can be released independently like this. I know I'm not alone in my excitment at the possibility of better control of backgrounds and borders (since so much of CSS design comes down to backgrounds and border tweaks).

Posted by Nate Koechley on March 9, 2005 at 01:44 PM in Accessibility, Internationalization, CSS Media Types, Browsers, References, Web Development | Permalink | Comments (0) | TrackBack

W3C: Specifying the Language of XHTML and HTML Content

The W3C's Internationalization GEO (Guidelines, Education & Outreach) Working Group has published an updated Working Draft of Specifying the Language of Content. Part of a series designed for authors, the document is an aid to specifying the language of content for an international audience.

This is still a working draft, so comments are welcome!

Posted by Nate Koechley on March 9, 2005 at 01:40 PM in Accessibility, Internationalization, CSS Media Types, Browsers, References, Web Development | Permalink | Comments (0) | TrackBack

2005.02.18

Evolution vs Revolution in Web Standards

CNet's Paul Festa filed a story today, Fight over 'forms' clouds future of Net applications, with a subhead of "As Net heavyweights vie to define the next generation of Web applications, the Web's main standards body is facing a revolt within its own ranks over electronic forms, a cornerstone of interactive documents."

The article sheds some light on the WHAT-WG, as well as some of the players in this general saga. The most interesting section to me:

WHAT-WG members say the forms dispute illustrates a larger conflict over whether the W3C should proceed in a "revolutionary" mode, tackling problems from square one and coming up with technically elegant solutions--even if that results in the loss of backward-compatibility with older browsers--or an "evolutionary" mode, maintaining older technologies like HTML 4 and extending the usefulness of current browsing software.

I also enjoyed Steven Pemberton's comments:

"The WHAT approach works OK for small examples," Pemberton said. "But actors like the Department of Defense say 'no scripting.'"

And:

"I understand where WHAT is coming from, but they are browser makers, not forms experts," Pemberton said. "It is important to build something that is future-proof and not a Band-Aid solution. Forms (technology) is the basis of the e-commerce revolution and so it is important to do it right."

[All emphasis mine.]

Posted by Nate Koechley on February 18, 2005 at 01:56 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Engineering, Layered Semantic Markup, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.02.15

News from the World Wide Web Consortium

For better or worse, I only catch up on my W3 reading every month or so. That said, here's the stuff that caught my eye recently:

Posted by Nate Koechley on February 15, 2005 at 04:58 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Engineering, Layered Semantic Markup, References, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.02.13

Browser Speed Comparisons

"There is a speed war on the web. Browsers compete on many fronts; security, standards support, features and speed. Most people are aware of which major browser fails on three of these, but one of them is still open for grabs. Speed."

Posted by Nate Koechley on February 13, 2005 at 12:28 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Engineering, Sandbox Stuff, Ugly Experiments, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.02.09

Semantic Markup - Create, Support and Extract

Semantic Data Extractor

As Kevin Ryan pointed out at work yesterday, the W3's Semantic Data Extractor is a pretty sweet tool. I've been steadily promoting Layered Semantic Markup at work -- the importance of meaningful markup as the core of web development. This is a great tool to show that value, and remind that the reason you put meaning in is to get meaning out.

The tool tries to extract information from a semantically-rich HTML document. It only uses information available through the good usage of the semantics provided by HTML. “The aim is to show that providing semantically rich HTML gives much more value to your code: using semantically rich HTML allows a better use of CSS, and makes your HTML intelligible to a wider range of user agents (especially search engines bots).”

To see it in action, check out the new next.yahoo.com page. The Extractor handles it pretty well, showing a clear document hierarchy.

What is Layered Semantic Markup?

Today’s Wrong Solution is Tomorrow’s Constraint

Layered Semantic Markup (LSM) is not a technology, but a framework comprised of HTML, XHTML, Cascading Style Sheets (CSS), Javascript, DOM and other Web technologies. LSM allows for appropriately implemented principles and standards.

LSM is a development framework for creating Web documents and experiences. LSM builds for the least capable devices first, then enhances those documents with separate logic for presentation, in ways that do not place an undue burden on baseline devices but which allow a richer experience for those users with modern graphical browser software. LSM supports all user agents, and is inclusive by design. (Progressive Enhancement - Unobtrusive Javascript)

LSM has structural semantic markup at its core, which provides lean, meaningful, accessible pages. This well-built core and the clear separation of structural, presentational and behavioral layers make this development philosophy superior to many short-sighted approaches.

Today’s wrong solution is tomorrow’s constraint. A holistic vision - an underlying philosophy - must guide technical decisions. LSM provides the strategy for a sound and future-ready approach.

LSM embraces Graded Browser Support by using one markup document, subsequently layered with stylesheets and scripts that provide a gradually enhanced experience across a wide variety of browsers and devices.

This approach has profound advantages over other browser support approaches such as graceful degradation. Graded Browser Support recognizes that advanced technology support is not a guarantee of the future, and that legacy software as well as alternative devices (mobile) must always be considered. Graded Browser Support defines support in terms of current capabilities, not in terms of legacy or obsolete software; it embraces accessibility, universality, and peaceful coexistence with more feature-rich browsers/devices; and it allows for adoption of new technology and strategies without leaving any browser/device behind.

Credits

This work is heavily influenced and contains directly passages from Debra Chamra's "Progressive Enhancement: Paving the Way for Future Web Design", Steven Champeon and Nick Finck's presentation "Inclusive Web Design For the Future with Progressive Enhancement", and Steven Champeon's "Progressive Enhancement and the Future of Web Design", all of which may be found here.

Thanks also to the great people who have endlessly debated and developed these topics with me: James Berry, Sean Imler, Todd Kloots, Jon Koshi, Mike Lee, Thomas Sha, Matt Sweeney, Chanel Wheeler, and Christina Wodtke; and everybody else; and to everybody who puts their ideas online so that others may be inspired. Thanks.

Posted by Nate Koechley on February 9, 2005 at 03:22 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Design, Engineering, Idea, Information Architecture, Interaction Design, Layered Semantic Markup, References, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools, Visual Design, Web Development | Permalink | Comments (7) | TrackBack

2005.01.31

Mobile Content Market

From the Internet Stock Blog, some highlights from Verisign's conference call (VRSN):

"our mobile content services were the highlight… even without a major new market entry impacting Q4. Revenues… were up 27% sequentially, as we saw increased penetration in Europe and the initial contribution from Australia"

Clearly the U.S. market for mobile content is growing rapidly

Even if you're not interested in the money side of things, the Internet Stock Blog has some pretty sweet tidbits and insights.

Posted by Nate Koechley on January 31, 2005 at 03:49 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Software and Tools | Permalink | Comments (1) | TrackBack

Opera Interview; Opera v8 beta; XmlHttpRequest

Opera Watch (The Unofficial Opera Blog) has An Interview with Opera's Berit Hanson. It's a good read. It sounds like Opera plans to stay true to themselves, and if you read between the lines it sounds like they have some cool things just around the corner. Opera has always been the most innovative company and browser, so this comes as no surprise.

XmlHttpRequest support coming

Professional web developers will be glad to hear that the XmlHttpRequest object will be supported in Opera 8. Here's the relevant part of the interview:

Opera Watch: In version 8 beta of Opera, you introduced support for the XmlHttpRequest object, made famous by Gmail. Considering that it is not part of any standard, why did Opera decide to implement it? What are your thoughts in general on features not based on public standards?

Opera: In Opera's case the support for XMLHttpRequest was built on top of our (pioneering) support for the W3C recommendation Dom Level 3 Load and Save. XMLHttpRequest is offered for backwards compatibility with existing Web sites.

XMLHttpRequest started as a proprietary extension to MSIE, then added to Mozilla but with a slightly different initialization since Mozilla didn't support Active-X.

Opera supports both ways of initiating the XMLHttpRequest object, but we DO NOT SUPPORT Active-X, it just looks that way for the Web application, so we can work with existing Web pages written for MSIE. Active-X is not used internally, so you are not exposed to any of the typical risks with Active-X.

Posted by Nate Koechley on January 31, 2005 at 02:37 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.01.26

SMS Clipping with Yahoo! Local Search

Send search results to your phone from your desktop.

Yahoo! Local released a new search feature today, allowing you to quickly send clips of search results to you phone via a free SMS text message. You can do this directly from the search results page - no page reload necessary. It couldn't be easier:

Here's how:

From the front page of Yahoo!, click the "Local" tab to toggle the search box, and enter a local search. (Or use http://local.yahoo.com directly.) Search for anything you'd find in a yellow pages, or anything with an address. All your saved addressed from Y!Maps and other Y! sites should be available as locations to search around.

local-1

From the search results page (SRP), click "Send to Phone" to send the listing to your phone. It's sent via SMS I think.

local-2

The Send interface is straight forward, and let's you enter a phone number, or select a previously used or saved mobile number. (It seems to default to whatever number you've registered with http://mobile.yahoo.com, though that step isn't necessary.)

local-3

From the standard SRP view, you can click "View Results on Map" to see them graphically displayed around your search location. (Viewing results on a map is great, and also lets you quickly find nearby parking, ATMs, restaurants -- even nearby public restrooms.)

local-4

From this map view, click any of the numbered representations for more information, and the option to "Send to Phone".

local-5

Enter the recipient phone number in the same manner as from the SRP list view.

local-6

The resulting message looks something like this:

pt_localstp_silh_lg_2

Give it a shot, it's pretty good. (And if you haven't played with Local search, this is the perfect opportunity.)

Congrats to my friends Chris and Jason, who were both involved with the webdev work on this.

Update: Gary Price at Search Engine Watch has an entry on this now.

Posted by Nate Koechley on January 26, 2005 at 12:11 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Gadgets, HOWTO's and Tutorials, Information Architecture, Interaction Design, Knowledge & Content Management, Search, Search Engines, Search Engine Optimization (SEO), Software and Tools, Web Development, Yahoo! | Permalink | Comments (2) | TrackBack

2005.01.20

Beautiful API

This page is beautiful: http://www.flickr.com/services/api/. Every service-based web site should have a page like this.

This is a great way to understand and communicate your functionality. If you can't describe your site in these terms, well, start trying because you should be able to. (You don't have to make it public.)

I'm not here to talk about the benefits of web services and open APIs -- but at least internally, if you can think about your offerings in these clean and explicit terms you'll be much more successful.

We've moved beyond the "If you build it, they will come" days. We're now in the "If you offer it, they will build it" days. This cool map-based Flickr interface was built because the API existed.

Posted by Nate Koechley on January 20, 2005 at 03:33 PM in Accessibility, Internationalization, CSS Media Types, Design, Engineering, Idea, Software and Tools, Web Development | Permalink | Comments (0) | TrackBack

2005.01.18

Digital-proof that you should stop using Internet Explorer for your browser.

Digital-proof that you should stop using Internet Explorer for your browser.

The goal is simple: to collect a database of every single article ever published on the internet about why one should not use Internet Explorer.

Posted by Nate Koechley on January 18, 2005 at 02:08 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Web Development | Permalink | Comments (1) | TrackBack

2005.01.17

Must Provide Volume Controls

Rule: Volume controls and a Mute button must exist for all online audio.

I ended up on a promotion page for American Airlines. I was actually interested in the demo they offered, so I clicked to watch. The demo had an audio track but no way to turn off the volume. Because I couldn't turn it off, I immediately closed the window. For me, this reaction is sometimes nearly automatic - almost a type of panic. In this case, I was listening to music.

Unfortunately for American Airlines, I wasn't as interested in their audio narrative as I was in the music I already had. Plus, I didn't want to switch over to iTunes and then back again. If you want be successful online, forget about the audio. If you really can't, make it opt-in. No matter what, leave the user in charge, or they'll leave you.

Posted by Nate Koechley on January 17, 2005 at 11:11 PM in Accessibility, Internationalization, CSS Media Types, Design, Information Architecture, Interaction Design, Web Development | Permalink | Comments (0) | TrackBack

2005.01.05

Firefox Tip: Quick Complete URLs

Here is how I enter a new URL into the Firefox Address Bar. It is the fastest way to jump somewhere new (without linking), and it keeps my hands on the keyboard (not the mouse).

Step One ("Quick Complete" starts on Step Three, but this is a bonus tip, and will speeds things up too.):

Press "Alt-D" on the keyboard (hold down both keys at the same time). This will more the cursor to go to the Address Bar, and also select any URL that is already there. With all the text highlighted, the next thing you type will erase what's already there, saving you the step of manually erasing the current URL before typing a new one.

Step Two:

Type the base of the URL. In other words, if you want to go to http://www.yahoo.com, you'd only type "yahoo" at this point.

Step Three: Quick Complete

With just the base entered into the Address Bar, you now press "Control-Enter" to wrap the base with the full .com stuff. By pressing "Control-Enter", the base "yahoo" instantly becomes "http://www.yahoo.com. (You may use the 10-Key number pad's "Enter" key in addition to the primary "Enter/Return" key.)

If you want a .org address, press "Control-Shift-Enter" instead. This will turn "craigslist" into "http://www.craigslist.org".

With those three tiny steps, you'll be flying around in no time. Alt-D, "cnn", "Control-Enter" take no time at all.

Note: On Mac's, replace "Control" with the "Apple" key I think.

Posted by Nate Koechley on January 5, 2005 at 11:38 PM in Accessibility, Internationalization, CSS Media Types, Browsers, HOWTO's and Tutorials, References, Software and Tools, Yahoo! | Permalink | Comments (8) | TrackBack

2004.12.01

CSS Hack vs CSS Filter

I was in the midst of some late-night coding. Well, not really late-night I guess. Let me rephrase.

It was 10:30pm and I was just getting started with some nighttime coding. I was searching for something, and ended up reading a july 2003 evolt post. In it, PPK describes the difference between CSS Hacks and CSS Filters. I've read tons about each, but this is the first time that I really noticed their definitions.

CSS Hacks
Techniques and syntax that achieve desired results by exploiting a bug in a particular browsers rendering engine.
CSS Filters
Techniques and syntax that achieve desired results by exploiting a feature that a particular browsers rendering engine does not yet support.

Posted by Nate Koechley on December 1, 2004 at 10:44 PM in Accessibility, Internationalization, CSS Media Types, Browsers, References, Web Development | Permalink | Comments (2) | TrackBack

2004.11.18

CSS Hacks - Collection of Articles and Links

I've been thinking about CSS hacks lately, so I thought I'd gather together some of the resources I've been using and articles I've been considering.

Enjoy.

Posted by Nate Koechley on November 18, 2004 at 11:49 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Web Development | Permalink | Comments (0) | TrackBack

2004.11.04

MIME Type Test Suite

I pointed to Juicy Studio's article It's all in the MIME a few days ago in my mini-blog. Well, Gez Lemon, the author of Juicy Studio, follows that up with some MIME Type Test Suites.

Did you notice the shameless plug for my Mini-Blog? Good. Enjoy it. (The 8 most recent posts to my mini-blog are included in the right column on my main blog.)

Why have a mini-blog? What's the difference? Who's idea was it? First of all, it wasn't my idea. I remember noting it first at my friend Ernie's blog, but it's pretty common and you'll find something similar at mezzoblue and even Digital-Web's What's New area.

Why have a mini-blog? The idea it to be able to quickly blog lots of things, without diluting the quality of the main blog. My mini-blog is hosted for free by bloglines. I read most of my feeds at Bloglines (it's my recommended RSS Aggregator). Their integrated publishing/blogging capabilities make it trivial to blog things of interest without breaking stride. Instead of writing a long entry of for this blog, I can just quickly and effortlessly flag things of interest and they show up in my mini-blog.

Anyways, I hope this will allow me to publish even more content, and that you find it interesting.

Now, go get a free Bloglines account, I can't recommend it enough!

Posted by Nate Koechley on November 4, 2004 at 10:57 AM in Accessibility, Internationalization, CSS Media Types, Browsers, References, Web Development | Permalink | Comments (0) | TrackBack

2004.10.22

Douglas Bowman's presentation from Web Essentials 2004 in Sydney

Doug Bowman, of Stopdesign and adaptive path, famous for the Blogger and Wired News redesigns, posts his great presentation Pushing Your Limits (And Other Secrets of Designing with CSS) from the Web Essentials 2004 conference in Sydney.

It's a great presentation, and beautiful too. Whether you know your CSS or not, it's well worth a click-through.

Posted by Nate Koechley on October 22, 2004 at 04:01 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Design, Events, HOWTO's and Tutorials, Information Architecture, Interaction Design, Layered Semantic Markup, Web Development | Permalink | Comments (0) | TrackBack

2004.10.20

Accessibility Conference slides

Slides are up from the accessibility Conference at the University of Central Lancashire from 2004-06-23.

Speakers include:

Bob Regan - Macromedia Inc.
"Accessibility in Rich Media for the Web"
With the growing importance of rich media and multimedia on the web, it is important for educators to address issues of accessibility. This presentation looks at accessibility in the context of rich media, providing an overview of standards, common concerns and remedies to everyday issues. Real life examples will be used to provide a context for the issues presented.
Breeze Presentation + Slides

Jim Byrne - Making Connections Unit
"What is an accessible website?"
Examining common definitions of accessible web design, and discussing their practical implications for web ublishers/designers. By looking at accessible web design from the producers point of view (i.e., taking into account the reality of limited time and resources), and not just concentrating on consumer needs, we can derive some important practical lessons to help us in produce accessible sites. This approach leads to more flexibility, which (ironically) meets the needs of a greater number of end users.
Breeze Presentation (followed by Zoe Neumann) + Slides

Zoe Neumann - RNIB
"Is it legal? You decide..."
In this session, I will recap the requirements of SENDA and present some e-learning experiences students have described. The audience will consider the experiences and vote on the legality of the provision, how beneficial adjustments can be made and ponder "inclusion".
Breeze Presentation (Preceded by Jim Byrne) + Slides + Transcript of slide 21

Posted by Nate Koechley on October 20, 2004 at 10:35 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Events, Layered Semantic Markup, Web Development | Permalink | Comments (0) | TrackBack

2004.10.14

Hard Working George

Hard Working George -- it's hard work.

Posted by Nate Koechley on October 14, 2004 at 06:01 PM in Accessibility, Internationalization, CSS Media Types, Humor, Layered Semantic Markup, Politics | Permalink | Comments (0) | TrackBack

2004.10.11

The Behavior Layer - Unobtrusively

I've been working on a framework called Layered Semantic Markup for I guess a few years now. While I spend most of my time considering the Structural Layer (Content, aka HTML) and the Presentation Layer (CSS), there is a third layer: Behavior Layer (scripts and the DOM). Having stable and appropriate Content and Presentation layers are helpful before one can appropriately address the Beharior Layer, which is why I've spent my time as I have.

A foundational idea of Layered Semantic Markup is Accessibility (and not just in the Section 508 of Accessibility for indivisuals with disabilities). Content should be accessible to ALL. Content should be available without Presentation. Presentation should be available without Behavior. In other words, each can only reach their potential (and some would argue bare minimum) if they are isolated and independent.

I don't want my snazzy Javascript DHTML behaviors (which makes my navigation more efficient to desktop computer users) to make my navigation unusable to cell phone browsers. With a nod to "One man's treasure is another man's trash", what's good for one user may be detrimental to another.

With this in mind, take a look at this great tutorial on how to write an Unobstrsive Behavior Layer, or as the author brands it, "Unobtrusive Javascript .

Javascript is a wonderful tool to enhance the usability of web sites. It is the extra layer above the mark-up 'what is this text' and the CSS 'how should it be displayed'. Javascript adds a new dimension, the 'how should this element behave'.

On the following pages we will discuss and see how we can use Javascript, but still maintain accessibility. The technique to completely separate Javascript from the other two layers of web development has become commonly named 'unobtrusive Javascript', as 'accessible Javascript' does not quite cut it. You can have a perfectly separated Javascript and still be totally inaccessible.

Hat tip to little. yellow. different's mini-blog.

Posted by Nate Koechley on October 11, 2004 at 04:09 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Design, Engineering, HOWTO's and Tutorials, Information Architecture, Interaction Design, Layered Semantic Markup, References, Web Development | Permalink | Comments (0) | TrackBack

2004.09.28

Layered Semantic Markup hits the big-time at Yahoo!

I'll post some more details when I get a second, but I wanted to quickly point out that the new launches of http://www.yahoo.com/beta and my.yahoo.com are among the most visible examples of Layered Semantic Markup on the Yahoo! Network.

Isn't the markup beautiful! Isn't the CSS wonderful?

Congrats, one and all!

Posted by Nate Koechley on September 28, 2004 at 05:39 PM in Accessibility, Internationalization, CSS Media Types, Design, Engineering, Layered Semantic Markup, Web Development, Yahoo! | Permalink | Comments (1) | TrackBack

Video of Screen Readers in Action

I suppose I've talked about this before, but it came up again at work today:

"Introduction to the Screen Reader" with Neal Ewers of the Trace Research Center is a short 6 minute video demonstrating how screen readers assist people who are blind navigate the web, access the electronic page, and more.

That and more: http://www.doit.wisc.edu/accessibility/video/.

If you're involved in web design or web development, or if you spend time thinking or working on accessibility, it's well worth your time to watch this and the related videos.

Posted by Nate Koechley on September 28, 2004 at 11:15 AM in Accessibility, Internationalization, CSS Media Types, Browsers, Layered Semantic Markup, References, Software and Tools | Permalink | Comments (0) | TrackBack

2004.09.10

Introducing sIFR

Mike Davidson, in conjunction with Shaun Inman and Tomas Jogin has released "a scalable, multi line, Flash 6 compatible version of IFR to help you reduce the amount of browser text in your life and free the world from the scourge of Arial."

This system uses JS, DOM and Flash to provide scalable, typographically-rich headlines and font treatments through dynamic replacement of H1, H2 and DIV tags.

Seems interesting.

I'm historically pretty anti Flash. I believe in HyperText and meaningful, semantic markup. I believe in access to information to all. I believe that pure text is faster, better, and more "Web". Just being up front about it. (On the other hand, I also believe in Progressive Enhancement, which is consistent with this approach.)

So I'm not yet sure what I think about this technique.

I know I'm more fixated on edge cases than many people, and that my work necessitates a never-wavering focus on speed, performance and efficiency, and that I have strong feelings about the benefits of "built-in" usability. But...

One reason I generally don't like text as images is because you can't select or copy-paste the content when it's locked in an image. Organizations that have their address locked in an image prevent me from Yahoo-mapping their address and therefore lose my business.

My first test was to select the text of this flash headline. Happily, I was successful (though it's pretty clunky, and much more difficult than normal HTML text).

One of Flash's historic downsides is that .swf text is more or less unknown to the browser. They seem to have fixed this for mouse-based text selection, but using the keyboard doesn't seem to work. Modern browsers have started introducing "Find As You Type" functionality, which lets you navigate (and select) the text of a page from your keyboard. This isn't compatible with sIFR in my testing. Further, the standard "Control-F" on-page search isn't aware of sIFR text. I, and many people, use Control-Find often. That IFR is for headlines instead of body content is some consolation, but... I'll lump those together as one strike.

I wonder how well .swf text is indexed by search engines? I don't have an easy way to test this, but because I can't select the .swf text via the keyboard, and because test uses of Control-F "find" failed, I'm skeptical.

Interesting technique. Definitely one to keep an eye on.

Cheers
Nate

Posted by Nate Koechley on September 10, 2004 at 04:40 PM in Accessibility, Internationalization, CSS Media Types, HOWTO's and Tutorials, Layered Semantic Markup, Search, Search Engines, Search Engine Optimization (SEO), Visual Design, Web Development | Permalink | Comments (2) | TrackBack

2004.08.09

Three Things I Learned About Screen Reader Users | unraveled

cafedave.net linked to this interesting post, Three Things I Learned About Screen Reader Users on http://unraveled.com.

You should hop over there and read the whole thing, but here are my notes:

Make sure [access keys] don’t conflict with browser or screen reader shortcuts. Thankfully, the good folks at Web Accessibility Testing and Services have already started looking at this. Here’s their article on the topic.
Everyone...used JAWS, which doesn't read display:none; content. Thankfully, the good folks at the CSS Discuss Wiki have researched the issue and designed an improved method that works in 11 major browsers.
(Because of forms mode in JAWS), use the fieldset and legend elements as suggested by Derek Featherstone’s comment.

Posted by Nate Koechley on August 9, 2004 at 09:29 AM in Accessibility, Internationalization, CSS Media Types | Permalink | Comments (0) | TrackBack

2004.03.23

Braille Biz Cards

Access-USA http://www.access-usa.com/Welcome_1.htm will print Braille on your business cards. We don't have an official vendor relationship with them. Our business card folks were pretty clueless on Braille, but you can order your cards the normal way and send them to Access-USA for Braille printing. It's about $65 for 250 cards.

Posted by Nate Koechley on March 23, 2004 at 01:02 PM in Accessibility, Internationalization, CSS Media Types | Permalink | Comments (0)

2004.03.19

Accessibility Comes For Free

Jeffery Veen writes a nice piece on his blog called I don't care about accessibility. (It's from his speaking notes at SXSW-04.)

He uses a term spectrum of degradability, which is very similar our thinking that has lead to

This content has been censored during migration from my behind-the-firewall blog to this public one.
:
Their designs are explicitly intended to work in what we call the spectrum of degradability -- that is, consider the current Mozilla in the middle, with less advanced and broken browsers like Blazer, Netscape 4 and IE6 on one end, and more advanced browsers like OmniWeb, screen readers, and other accessibility devices on the other.
It's noteworthy that he puts omniweb and screenreader agents on the the more advanced side of the stectrum.

Veen's dead on though, and we XXXXXXXXX's have been touting this too:

...when Web design is practiced as a craft, and not a consolation, accessibility comes for free.

Posted by Nate Koechley on March 19, 2004 at 12:35 PM in Accessibility, Internationalization, CSS Media Types, Browsers, Layered Semantic Markup | Permalink | Comments (0)

2004.03.12

Accessibility Toolbars

XXXXXXX previously pointed us to the NILS Accessibility toolbar.

I just came across this other one, the WAVE Toolbar. WAVE let's you submit a url (or trigger the toolbar), and receive an instant Accessibility report. The report is customize and thorough, and uses an extensive icon language to communicate it's finding on your page itself.

The service also provides some interesting additional features:

Icon View
This representation shows your page, overlaid with an extensive iconic library that communicates the findings
Text View
Shows your page as a text-only user agent would see it. See processes CSS for font-family, and size and color seem to be respected too. An enlightening view.
Outline View
This view transforms your page into it's hierarchical view, nesting H2 headers under H1 headers, and so on.... A good tool to help verify your semantic markup structure.
Report View
Unknown (error on page)

All and all, it seems to be another good tool for our arsenal.

Posted by Nate Koechley on March 12, 2004 at 09:04 AM in Accessibility, Internationalization, CSS Media Types, Software and Tools | Permalink | Comments (0)

2004.01.31

The Behavior Layer - Accessible Javascript

Digital Web Magazine - Keep It Simple: The Behavior Layer

Now that Web developers have a solid grip on the XHTML structural and CSS presentation layers, its time to consider the JavaScript behavior layer and especially its accessibility.

We have now added a behavior layer to our simple page. It lies on top of the structural layer, and next to the presentation layer. This means that instead of two views we suddenly offer four.

Posted by Nate Koechley on January 31, 2004 at 03:35 AM in Accessibility, Internationalization, CSS Media Types, Layered Semantic Markup | Permalink | Comments (0)

2004.01.02

Web Accessibility Best Practices Exchange Training

Web Accessibility Best Practices Exchange Training

W3C Web Accessibility Initiative is holding a 2-day Web Accessibility Best Practices Exchange Training on 9-10 February 2004 in Madrid, Spain. Participation is open to anyone interested in Web development. There is no registration fee; however, pre-registration is required. See the Education and Outreach Working Group's event page for further details.

Posted by Nate Koechley on January 2, 2004 at 02:22 PM in Accessibility, Internationalization, CSS Media Types | Permalink | Comments (0)