|
Microsoft® Internet
Explorer 6 supports CSS features that earlier versions of Internet Explorer
do not support. Two additional CSS properties are supportedmin-height
and word-spacing. Several additional possible values are supported, including
the pre value of the white-space property and the list-item value of the
display property. Other significant features include stricter parsing
of style sheets and changing which HTML elements can represent the outermost
surface onto which a document's content can be rendered.
These enhancements were made to comply with the CSS specification.
All of the properties, values, and features defined in the CSS, Level
1 (CSS1) specification are supported, including the box model that defines
how to measure and format elements and their associated margin, border,
and padding properties.
Among the many improvements in this version, three items
stand out:
- Personal Bar
- Privacy enhancements
- Standards support
The Personal Bar brings a new level of personalization
and convenience to Web browsing. The privacy enhancements in Internet
Explorer 6 Public Preview provide the end user with control over how cookies
can be used in collecting information. And with this release, Internet
Explorer 6 Public Preview rounds off its standards support of CSS level
1 and DOM level 1, as well as enhancing support for HTML 4.0all
recommendations from the World Wide Web Consortium (W3C).
A feature with perhaps the broadest appeal, the Personal
Bar enables end users to integrate functionality with their Web browsing
experience. Regardless of whether it is configured to present the user's
contact list, latest news, or even shopping information, the Personal
Bar is always within quick reach and unobtrusive. A number of Explorer
Bars come pre-configured, and more can be downloaded and installed. Some
sites will likely deploy custom bars that provide user assistance, news,
and other information. In a corporate intranet setting, custom bars can
display essential business or institutional data.
Developing
Personal Bar content
Internet Explorer 6 Public Preview makes it possible
for developers to write custom Explorer Bars in HTML. Your content can
listen to navigation events in the main document, as well
as access the object model of the main document. As a developer, you could
build bars that provide separate content, such as information to be used
for customer support on your site. Alternatively, you could develop bars
that enhance the material in the main documentfor example, you might
develop a document validator for use by other developers.
Corporate developers will find that custom Explorer Bars
can provide shortcuts for key corporate sites, document tracking, or even
quick access to the corporate address book. Corporations can rely on the
Internet Explorer Administrators Kit (IEAK) to deploy customized versions
of Internet Explorer that incorporate their in-house custom bars.
Image Toolbar
As a content developer, you can tag images so that the
Image Toolbar does not appear when end users move the pointer over them.
This tagging provides you with more control over the end-user experience
on your site. As with previous versions of Internet Explorer, end users
can still right-click images to save or print them, as well as send them
through e-mail.
Smart tags
You can develop custom recognizers and actions for Smart
Tags using the Microsoft Office XP Smart Tag SDK.
Windows XP user interface support
When running on Windows XP, Internet Explorer 6 Public
Preview sports a look and feel that matches the Windows XP platform. You
can opt to have your HTML content take on the same look as the operating
system for elements such as buttons and scroll bars. This is particularly
useful for cases in which HTML content provides user interface elements
or content within applications. To incorporate the look of Windows XP
in your HTML content, add the following META tag:
<META HTTP-EQUIV="MSThemeCompatible"
Content="Yes">
Mouse wheel events
Internet Explorer 6 Public Preview introduces a new set
of events related to the use of the mouse wheel. These events enable your
content or application to better react to user input.
XML
Internet Explorer 6 Public Preview includes support for
MSXML 3.0, providing better performance and up-to-date XML standards support.
.NET integrationThe WebService behavior
The WebService behavior makes integration of server and client side code
easier, and enables applications to call functions on the server asynchronously.
You can use this behavior to avoid page navigations and to retrieve data
from the server using XML and SOAP. Personally, my experience with using
the WebService behavior indicates that while it is promising, it still
needs some work.
Switch
Me On?
You switch on standards-compliant mode
by including the !DOCTYPE declaration at the top of your document, specifying
a valid Label in the declaration, and in some cases, specifying the Definition
and/or URL. The Label specifies the unique name of the DTD, and can be
appended with the version number of the DTD. The Definition specifies
the definition of the DTD that is specified in the Label. The URL specifies
the location of the DTD. To allow for the creation of new DTDs, such as
MyCoolDTD 1.02, standards-compliant mode is switched on when the !DOCTYPE
declaration is not recognized. Standards-compliant mode is also switched
on when you specify a version of HTML that is not in the officially supported
list from Microsoft, such as HTML 1.0 or HTML 3.22.
With Internet Explorer 6 , when you use the !DOCTYPE
declaration to switch on standards-compliant mode, in the "Box model"
the width and height properties specify the distance between the left
and right edges and top and bottom edges of the bounding box, respectively.
The border and padding belts are not included. The CSS1 box model defines
content inside an HTML element as being surrounded by an invisible rectangular
bounding box. Surrounding this bounding box are three rectangular belts,
represented by the margin, border, and padding properties. You can use
style sheets to manipulate the dimensions and appearance of the bounding
box and the belts surrounding it.
In earlier versions of Internet Explorer, the BODY element
represents the canvasthe entire surface onto which a document's
content can be rendered. The size of the BODY element cannot be changed
and equals the size of the window. Margins you set on this element are
rendered inside the border and scroll bars of the element.
As of Internet Explorer 6 Public Preview, when you use
the !DOCTYPE declaration to switch on standards-compliant mode, the BODY
element can obtain its size from its content, or you can set its size
explicitlylike a DIV object, for example. In standards-compliant
mode, the HTML element represents the canvas.
When you switch on standards-compliant mode, the HTML
element also becomes the positioning container for positioned elements
that don't have a positioned parent. When standards-compliant mode is
switched off, as with earlier versions of Internet Explorer, an absolutely
positioned element is positioned relative to the BODY when there is no
positioned parent. When standards-compliant mode is switched off, as with
earlier versions of Internet Explorer, the BODY element represents the
canvas.
There is additional support for scrollbar behavior and
backgrounds - both for the HTML and the BODY elements. Two new properties,
"min-height" and "word-spacing" ( on the Macintosh)
provide additional control over table elements and content.
With one exception, only C language comments are permitted
with Internet Explorer 6 Public Preview or later when you use the !DOCTYPE
declaration in your document to switch on standards-compliant mode. The
exception is that you can enclose the style sheet rules in an HTML comment.
Style sheets can be enclosed within an HTML comment block so that downlevel
browsers do not display the text in the style sheet. The following example
demonstrates the only acceptable use of HTML comments inside an embedded
style sheet:
<style>
<!--
/* begin
rules */
H1.blue { background-color:blue }
.
/* end rules */
-->
</style>
Unrecognized
Tokens in Shorthand Properties
According to CSS1, when there is an unrecognized
token in a shorthand property, the entire shorthand property setting is
ignored. For example, "text-decoration: underline cross-out"
is ignored because "cross-out" is not a recognized value for
the text-decoration property. The text is not even underlined.
With earlier versions of Internet Explorer, the declaration
is parsed up to the first unrecognized value. So "text-decoration:
underline cross-out overline" causes the text to be underlined, but
not overlined. This affects the following properties: font, background,
background-position, text-decoration, margin, padding, border, border-top,
border-right, border-bottom, border-left, border-left-color, border-width,
border-style, list-style-image, list-style, clip, behavior, text-autospace,
and layout-grid.
Character
Escaping
According to CSS1, you can use the backslash (\)
as an escape character. This removes any special meaning from the character
that follows it. For example, you can escape the quote character like
this:
STYLE="font-family:'Rachel\'s font'"
You can also use hex values to escape Unicode characters.
For example, "\0009" is the escape for a tab character.
There are a number of other items that will affect the
way pages are rendered. Most of these are similar to the ones I've summarized
above, and revolve primarily around the concept of stricter adherence
to the W3C CSS1 standard.
Switch
compatibility mode on or off
When Internet Explorer 6 Public Preview or later is not
in standards-compliant mode, it is in compatibility mode. If you developed
applications for earlier versions of Internet Explorer and you want the
applications to render the same way on Internet Explorer 6 Public Preview
or later, make sure the !DOCTYPE declaration doesn't
switch on standards-compliant mode.
In standards-compliant mode, compatibility with
other versions of Internet Explorer is not guaranteed. When standards-compliant
mode is switched on, the rendering behavior of documents might differ
in future versions of Internet Explorer. You should not use this mode
for content that is fixed in nature, such as content that is stored on
a CD.
Thou Shalt
Watch Thy Cookies
Microsoft® Internet Explorer 6 requires changes
in how Web services use cookies. In many cases, the privacy features of
Internet Explorer 6 require Web services to deploy compact policies as
defined by the Platform for Privacy Preferences
(P3P) Project developed by the World Wide
Web Consortium (W3C).
The privacy features of Internet Explorer 6 focus on
advanced cookie filtering as Microsoft's "major step" toward
empowering users to protect their privacy. Although solving the cookie
problem is not a panacea, it is Microsoft's position that it's an industry-leading
step in addressing consumer anxiety over online profiling.
Advanced cookie filtering works by evaluating a Web site's
privacy practices and deciding which cookies are appropriate based on
the site's compact policies and the user's own preferences. In the default
settings, cookies that relate to personally identifiable information and
do not allow users a choice in their use are considered "unsatisfactory."
By default, unsatisfactory cookies in the first-party context are deleted
when the browsing session ends and rejected in the third-party context.
In this way, users can retain the personalization benefits of cookies,
while protecting themselves from unsatisfactory cookies. The full details
of cookie filtering are too broad for this article, but I'll try to summarize
them below:
The Internet Explorer 6 technology for understanding
a Web site's privacy policy is built upon the P3P Specification. Using
Extensible Markup Language (XML), P3P provides a common vocabulary and
syntax that allows Web sites to communicate their privacy practices to
Internet Explorer 6 (or any other user agent). Internet Explorer 6 can
then inform users of what is happening behind the scenes and assist them
by filtering out unsatisfactory cookies, while still taking advantage
of innocuous cookies.
Users can easily adjust the cooking filtering
sensitivity of Internet Explorer 6 by using a slider interface with six
preset levels. Cookie filtering can also be fully customized in the following
ways:
- Accept or deny cookies from specific Web sites
- Import custom cookie filtering settings from third
parties
- Enable advanced controls for other cookie
option
First-
and Third-Party Context
There is a window
of opportunity right now for developers and consultants who are
smart enough to take the lead in studying the P3P privacy protection scheme. I'll get into that shortly. Internet Explorer 6 defines first-party content
as that associated with the host domain. Third-party content originates
from any other domain. For example, suppose a user visits www.wideworldimporters.com
by typing this URL in the address bar, and www.wingtiptoys.com has a
banner ad on this page. If these two sites set cookies, the cookies
from www.wideworldimporters.com are in a first-party context while the
cookies from www.wingtiptoys.com are in a third-party context.
Often commercial
Web pages are an amalgamation of first- and third-party content. The Internet
Explorer 6 privacy features distinguish between first- and third-party
content. The underlying assumption is that the user has a different relationship
with first parties than with third parties. In fact, users might not be
aware of the third party or be given a choice in having a relationship
with it. For this reason, default privacy settings for third parties are
more stringent than for first parties.
Note The URLs www.wideworldimporters.com
and toys.wideworldimporters.com, both contain the same minimal domain,
wideworldimporters.com. Content that shares the same minimal domain as
the host domain is considered first-party content. Likewise, cookies set
from these domains are considered first-party cookies. Minimal domains
must have the same Top Level Domain (TLD). Some common examples of TLDs
are .com, .net and .org.
Note that under this new security scheme, If
a user visits www.wideworldimporters.com over a secure connection using
Secure Hypertext Transfer Protocol (HTTPS), content on the page that
is not using HTTPS is considered third-party content.
P3P
and Compact Policies
The P3P specification standardizes the way Web
sites summarize and represent policy information regarding their privacy
practices. P3P policies are composed of XML statements that describe
the data categories, purposes of data collection, and recipients of
the data collected. P3P policies also contain other information, such
as whom to contact for privacy-related disputes, the lifetime of the
privacy policy, how a user can access the data collected, and what remedies
can be taken for policy breaches. Different P3P policies can be specified
for different aspects of a Web service. For example, a Web site can
have different policies for its home page and its search page.
Here is an example of a typical P3P -
compliant "P3P policy statement" :
<POLICY
xmlns="http://www.w3.org/2000/12/P3Pv1"
discuri="http://www.blueyonderairlines.com/ourprivacypolicy.html"
opturi="http://www.blueyonderairlines.com/optin.html">
<ENTITY>
<DATA-GROUP>
<DATA ref="#business.name">Blue Yonder Airlines</DATA>
<DATA ref="#business.contact-info.postal.street">3456
Main St.</DATA>
<DATA ref="#business.contact-info.postal.city">Tampa</DATA>
<DATA ref="#business.contact-info.postal.stateprov">Fl</DATA>
<DATA ref="#business.contact-info.postal.postalcode">77062</DATA>
<DATA ref="#business.contact-info.postal.country">USA</DATA>
<DATA ref="#business.contact-info.online.email">molly@blueyonderairlines.com</DATA>
<DATA ref="#business.contact-info.telecom.telephone.intcode">1</DATA>
<DATA ref="#business.contact-info.telecom.telephone.loccode">800</DATA>
<DATA ref="#business.contact-info.telecom.telephone.number">5550158</DATA>
</DATA-GROUP>
</ENTITY>
<ACCESS><contact-and-other/></ACCESS>
<STATEMENT>
<PURPOSE><pseudo-analysis/></PURPOSE>
<RECIPIENT><other-recipient/></RECIPIENT>
<DATA-GROUP>
<DATA ref="#user.home-info.postal">
<CATEGORIES><demographic/></CATEGORIES>
</DATA>
</DATA-GROUP>
</STATEMENT>
<STATEMENT>
<PURPOSE><contact required="opt-in"/></PURPOSE>
<RECIPIENT><ours/></RECIPIENT>
<DATA-GROUP>
<DATA ref="#user.home-info.online.email">
<CATEGORIES><online/></CATEGORIES>
</DATA>
</DATA-GROUP>
</STATEMENT>
</POLICY>
For each statement element, the category, purpose, and
recipient element each have an associated compact form. The access element
also has a compact form. The table below shows the compact tokens associated
with each of the elements in this example.
Privacy
Tags and Corresponding Compact Tokens
| Privacy tag |
Compact token |
| <contact-and-other/> |
CAO |
| <pseudo-analysis/> |
PSA |
| <contact required="opt-in"/> |
CONi |
| <other-recipient/> |
OTR |
| <ours/> |
OUR |
| <demographic/> |
DEM |
| <online/> |
ONL |
We can form a compact policy for this example
by aggregating these purpose, recipient, category, and access tokens.
Compact policies are sent using a custom HTTP response header using the
syntax shown in the following example.
P3P: CP = "CAO PSA CONi OTR OUR DEM ONL"
This header can be added to an HTTP response using Active
Server Pages (ASP) or through the computer management console on Microsoft�
Windows� 2000 server. It is important to note that cookie compact policies
are sent from the server along with the cookie data on HTTP responses,
while decisions and settings regarding cookies are made on the client
(Internet Explorer 6).
The cookie filtering of Internet Explorer 6 does not
make use of full P3P policies. Compact policies are required for all cookies.
Cookies set through script or the meta element are governed by the compact
policies on the associated HTTP response. Cookies without a compact policy
are regarded by Internet Explorer 6 as not having a policy.
For those who are ready to try their hand at P3P, Microsoft
have a P3P policy wizard you can use at http://www.microsoft.com/privacy/wizard/
and the W3C has a useful P3P "validator" page at: http://www.w3.org/P3P/validator/20001215/.
Note that as of this writing, the W3C page may find some errors in Microsoft's
implementation. Also, be advised that all this P3P stuff is not firmed
up yet, so you may have to change some of it. But, in general, I would
recommend that developers and web site operators get started now with
the required P3P.XML and POLICY.XML files, as well as adding the required
response header for compact policy. If you need an example to get started,
run our https://www.nullskull.com site through the validator. It's P3P
compliant.
Opt-in,
Opt-out, Always
The purpose and recipient tags of a P3P policy have an
optional attribute that can take the value of "opt-in,", "opt-out," or
"always." The use of "opt-in" denotes that users must approve the purpose
of use or recipient of the data. The use of "opt-out" denotes that data
is used for the purpose or recipient specified unless the user chooses
not to allow it�that is, the user opts out. Using "always" indicates that
the purpose or recipient is always required. This attribute is abbreviated
by a single letter and appended to the token. In our example, the "i"
appended to the CON token indicates that users have to "opt-in" to have
their online information used for contact purposes ("always" is abbreviated
as "a" and "opt-out" as "o"). Always ("a") is the default value,
so tokens which do not specify a value are handled in the same way as
tokens with an "a". For example, FIN and FINa represent the
same token.
The documentation available for the Public Previeww of
IE 6.0 has a much more extensive treatment of unsatisfactory cookie tags,
compact tokens as shown above, Internet Explorer 6.0 privacy settings
and cookie filtering in the various security zones. During the Public
Preview's life, there are three privacy preference levels: Low, Medium,
and High.
The Medium level is selected by default and works as
follows:
-
Cookies with no associated compact
policy are rejected in the third-party context.
-
Cookies with an associated compact
policy are accepted in the third-party context regardless of the content
of the policy.
-
Cookies in the first-party context
are accepted regardless of the presence of a compact policy.
-
The Low level accepts all cookies.
The content of the compact policy is not considered in
the third-party context. What is important is the presence of the compact
policy. P3P allows for a TST token to be used in compact policies for
testing purposes. So using the header P3P: CP = "TST" will be
sufficient for third-party cookies to be accepted.
In the release version of Internet Explorer 6,
compact policies containing the TST token will be ignored and the corresponding
cookies will be treated as if there is no compact policy.
So, if you run, maintain or develop sites where there is a concern for
these standards and wish to provide P3P -compliant cookies and header
transmissions, the message from the gurus at Redmond is that you better
get cracking -- like, NOW. It's quite likely that users will not keep
moving the privacy preferences slider down to "low" just for
you. At eggheadcafe.com as of this writing (late May, 2001) up to ten
percent of our visitors are already using Internet Explorer 6.0!
To continue the successful deployment of cookies for
use with Internet Explorer 6 or its public preview, the best thing to
do is deploy P3P on your site. This involves first assessing your business
practices and then forming a comprehensive policy. Visit the P3P Project
Web site and take advantage of the tools and resources. Many cookies without
compact policies will be rejected by default, so deploying P3P with compact
policies is critical for maintaining your Web services. The folks at Microsoft
have "bit the bullet" and taken the firm stance that addressing
Internet privacy is the responsibility of the entire industry, and that
now is the time to take steps toward these sensible, interoperable solutions.
Summary
The
W3C has had most of the policies and standards shown here in effect for
quite some time. I think what is important to understand is that when
a major player of the stature and market position of Microsoft "buys
in" and takes a standards - compliant position, this can have a significant
effect on the industry as a whole.The P3P scheme is not easy to understand, and people who become experts in this
area quickly will be able to charge
web site owners many thousands of dollars in consulting fees
to help them develop and implement P3P policies that will protect and
enhance their investments in the successful operation of their sites.
Peter Bromberg is an independent consultant specializing in distributed .NET solutionsa Senior Programmer
/Analyst at in Orlando and a co-developer of the NullSkull.com
developer website. He can be reached at info@eggheadcafe.com
|