diff -Naur /usr/share/pyshared/trac/web/chrome.py.org /usr/share/pyshared/trac/web/chrome.py
--- /usr/share/pyshared/trac/web/chrome.py.org	2011-04-05 23:04:22.000000000 +0800
+++ /usr/share/pyshared/trac/web/chrome.py	2011-04-06 08:19:14.000000000 +0800
@@ -126,10 +126,12 @@
         msg %= args
     req.chrome['notices'].append(msg)
 
-def add_ctxtnav(req, elm_or_label, href=None, title=None):
+def add_ctxtnav(req, elm_or_label, href=None, title=None, accesskey=None):
     """Add an entry to the current page's ctxtnav bar.
     """
-    if href:
+    if accesskey:
+    	elm = tag.a(elm_or_label, href=href, title=title, accesskey=accesskey)
+    elif href:
         elm = tag.a(elm_or_label, href=href, title=title)
     else:
         elm = elm_or_label
@@ -756,8 +758,8 @@
         if doctype:
             if req.form_token:
                 stream |= self._add_form_token(req.form_token)
-            if not int(req.session.get('accesskeys', 0)):
-                stream |= self._strip_accesskeys
+            #if not int(req.session.get('accesskeys', 0)):
+            #    stream |= self._strip_accesskeys
 
         links = req.chrome.get('links')
         scripts = req.chrome.get('scripts')
diff -Naur /usr/share/pyshared/trac/web/auth.py.org /usr/share/pyshared/trac/web/auth.py
--- /usr/share/pyshared/trac/web/auth.py.org	2011-04-05 23:08:47.000000000 +0800
+++ /usr/share/pyshared/trac/web/auth.py	2011-04-05 23:10:21.000000000 +0800
@@ -86,10 +86,10 @@
         if req.authname and req.authname != 'anonymous':
             yield ('metanav', 'login', 'logged in as %s' % req.authname)
             yield ('metanav', 'logout',
-                   tag.a('Logout', href=req.href.logout()))
+                   tag.a('Logout', href=req.href.logout(),accesskey='o'))
         else:
             yield ('metanav', 'login',
-                   tag.a('Login', href=req.href.login()))
+                   tag.a('Login', href=req.href.login(),accesskey='l'))
 
     # IRequestHandler methods
 
diff -Naur /usr/share/pyshared/trac/wiki/templates/wiki_edit.html.org /usr/share/pyshared/trac/wiki/templates/wiki_edit.html
--- /usr/share/pyshared/trac/wiki/templates/wiki_edit.html.org	2011-04-05 23:13:11.000000000 +0800
+++ /usr/share/pyshared/trac/wiki/templates/wiki_edit.html	2011-04-06 11:18:41.000000000 +0800
@@ -113,14 +113,14 @@
         </fieldset>
         <div class="buttons" py:choose="action">
           <py:when test="'collision'">
-            <input type="submit" name="preview" value="Preview" disabled="disabled" />&nbsp;
+            <input type="submit" name="preview" value="Preview" disabled="disabled" accesskey="p"/>&nbsp;
             <input type="submit" name="merge" value="Merge changes" accesskey="r" />&nbsp;
             <input type="submit" name="save" value="Submit changes" disabled="disabled" />&nbsp;
           </py:when>
           <py:otherwise>
-            <input type="submit" name="preview" value="Preview Page" accesskey="r" />&nbsp;
+            <input type="submit" name="preview" value="Preview Page" accesskey="p" />&nbsp;
             <input type="submit" name="diff" value="Review Changes" accesskey="r" />&nbsp;
-            <input type="submit" id="save" name="save" value="Submit changes" />&nbsp;
+            <input type="submit" id="save" name="save" value="Submit changes" accesskey="s" />&nbsp;
           </py:otherwise>
           <input type="submit" name="cancel" value="Cancel" />
         </div>
diff -Naur /usr/share/pyshared/trac/versioncontrol/web_ui/browser.py.org /usr/share/pyshared/trac/versioncontrol/web_ui/browser.py
--- /usr/share/pyshared/trac/versioncontrol/web_ui/browser.py.org	2011-04-05 23:16:26.000000000 +0800
+++ /usr/share/pyshared/trac/versioncontrol/web_ui/browser.py	2011-04-05 23:17:13.000000000 +0800
@@ -292,7 +292,7 @@
     def get_navigation_items(self, req):
         if 'BROWSER_VIEW' in req.perm:
             yield ('mainnav', 'browser',
-                   tag.a(_('Browse Source'), href=req.href.browser()))
+                   tag.a(_('Browse Source'), href=req.href.browser(), accesskey='5'))
 
     # IPermissionRequestor methods
 
diff -Naur /usr/share/pyshared/trac/admin/web_ui.py.org /usr/share/pyshared/trac/admin/web_ui.py
--- /usr/share/pyshared/trac/admin/web_ui.py.org	2011-04-06 08:52:45.000000000 +0800
+++ /usr/share/pyshared/trac/admin/web_ui.py	2011-04-06 08:57:25.000000000 +0800
@@ -65,7 +65,7 @@
         panels, providers = self._get_panels(req)
         if panels:
             yield 'mainnav', 'admin', tag.a(_('Admin'), href=req.href.admin(),
-                                            title=_('Administration'))
+                                            title=_('Administration'), accesskey='a')
 
     # IRequestHandler methods
 
diff -Naur /usr/share/pyshared/trac/prefs/web_ui.py.org /usr/share/pyshared/trac/prefs/web_ui.py
--- /usr/share/pyshared/trac/prefs/web_ui.py.org	2011-04-05 23:17:30.000000000 +0800
+++ /usr/share/pyshared/trac/prefs/web_ui.py	2011-04-05 23:18:43.000000000 +0800
@@ -45,7 +45,7 @@
 
     def get_navigation_items(self, req):
         yield ('metanav', 'prefs',
-               tag.a(_('Preferences'), href=req.href.prefs()))
+               tag.a(_('Preferences'), href=req.href.prefs(), accesskey='t'))
 
     # IRequestHandler methods
 
diff -Naur /usr/share/pyshared/trac/htdocs/css/trac.css.org /usr/share/pyshared/trac/htdocs/css/trac.css
--- /usr/share/pyshared/trac/htdocs/css/trac.css.org	2011-04-05 23:51:26.000000000 +0800
+++ /usr/share/pyshared/trac/htdocs/css/trac.css	2011-04-05 23:55:06.000000000 +0800
@@ -1,6 +1,6 @@
 body { background: #fff; color: #000; margin: 10px; padding: 0; }
 body, th, td {
- font: normal 13px Verdana,Arial,'Bitstream Vera Sans',Helvetica,sans-serif;
+ font: normal 14px Verdana,Arial,'Bitstream Vera Sans',Helvetica,sans-serif;
 }
 h1, h2, h3, h4 {
  font-family: Arial,Verdana,'Bitstream Vera Sans',Helvetica,sans-serif;
