For developers 

Navigation 

Sub navigation
The navigation control is a most flexible control. We must link a data source and an XSLT to it. The data source is defined as PortalSiteMapDateSource.

<PublishingNavigation:PortalSiteMapDataSource
   ID="SiteMapDataSource1"
   runat="server"
   SiteMapProvider="CombinedNavSiteMapProvider"
   EnableViewState="true"
   StartFromCurrentNode="true"
   StartingNodeOffset="1"
   ShowStartingNode="true" />

With the Attributes StartFromCurrentNode, StartingNodeOffset and ShowStartingNode, you can configure the input, so the navigation control will create a different XML.

The sample we have here is used for the breadcrumb. StartingNodeOffset set to 1 makes it not start at the websites root, but at the variation label.

The same declaration with ShowStartingNode set to false is used for our top navigation, it just hides the first node and starts with a list.

And if we set StartingNodeOffset to 2 we have our sub navigation. You can alter the ShowStartingNode to false if you don't like the to have the first selected node in your sub navigation.

The XSLTs used for the control are in a DocLib named /xsltDocs and the XML we get has the following structure:
<MenuItems CurrentKey="[/someUrl]" CurrentLevel="[Number - starts with 0]" Level="[Number - starts with 0]" ParentKey="[/someUrl]">
   <MenuItem ImageUrl="[/someUrl]" Url="[/someUrl]" Target="[|new|_blank]" Title="[someText]" ToolTip="[someText]" Level="[Number - starts with 0]" Selected="[True|False]" Key="[/someUrl]" ParentKey="[/someUrl]">
      <MenuItems>
         <MenuItem ...="">
            ...
         </MenuItem>
      </MenuItems>
   </MenuItem>
</MenuItems>

Again it's the XSLT that makes a Navigation Control fullfilling the requirements for the  W3C Accessibility Guidelines.