Re: Dropping nav-* properties?

On Thu, 13 Jun 2013 10:14:11 +1000, Glenn Adams <glenn@skynav.com> wrote:

> On Thu, Jun 13, 2013 at 5:22 AM, Henrik Andersson  
> <henke@henke37.cjb.net>wrote:
>
>> Vickers, Mark skriver:
>> > Giuseppe,
>> >
>> > We do, of course, absolutely require up, down, left right keys in TV  
>> > and set-top box Web applications to support TV remotes. Regarding
>> > these specific CSS APIs:
>> >
>> > - What do the nav-* properties bring that cannot be done in other ways
>> > (HTML, JavaScript, DOM Event APIs, etc.)?
>> >
>>
>> CSS can reposition elements on the viewport. It would be very
>> inconvenient to attempt to mark the navigation data elsewhere, since it
>> would at minimum have to ask where css put the content.
>>
>
> I don't believe this is relevant, or at least, CSS doesn't do anything  
> the Author hasn't asked for it to do. If an Author uses nav-*
> properties, then that Author would be rather silly to use, say, CSS
> transforms or animations to start repositioning content without
> updating the nav-* properties. Yes?

Sure. But since CSS is the most common place to make such changes, it
makes sense to use it to keep the navigation matching the actual layout.
Having that in some other place (e.g. in some JS, or in HTML that isn't
aware of the CSS applied) seems far more fragile as a design pattern. (I
believe that is Henrik's point).

>> It also risks making things complicated if media queries were employed
>> to select different layouts depending on uhm, media conditions.
>>
>
> Obviously an Author that chooses to use MQs and resulting different  
> layouts would need to be prepared to dynamically set nav-* properties
> via CSSOM

Unless you just let them use CSS. Which seems to be the simple path.

>> TL;DR: Navigation depends on visual layout. CSS controls visual layout.

> Authors control CSS.

In real environments, CSS authors often control CSS but don't control  
other components such as JS.

There is the alternative approach we use in BEM to allow for objects to be  
developed independent of the language(s) used, but that relies on building  
a whole layer on top of the actual technology. And it would help even in  
that case to be able to link the navigation to the layout in a single  
language.

cheers

Chaals

-- 
Charles McCathie Nevile - Consultant (web standards) CTO Office, Yandex
         chaals@yandex-team.ru         Find more at http://yandex.com

Received on Monday, 17 June 2013 08:46:28 UTC