diff --git a/trac/admin/templates/admin_basics.html b/trac/admin/templates/admin_basics.html
--- a/trac/admin/templates/admin_basics.html
+++ b/trac/admin/templates/admin_basics.html
@@ -12,7 +12,7 @@
   <body>
     <h2>Basic Settings</h2>
 
-    <form class="mod" id="modbasic" method="post">
+    <form class="mod" id="modbasic" method="post" action="">
       <fieldset>
         <legend>Project</legend>
         <div class="field">
diff --git a/trac/admin/templates/admin_components.html b/trac/admin/templates/admin_components.html
--- a/trac/admin/templates/admin_components.html
+++ b/trac/admin/templates/admin_components.html
@@ -29,7 +29,7 @@
     </py:def>
 
     <py:choose test="view">
-      <form py:when="'detail'" class="mod" id="modcomp" method="post">
+      <form py:when="'detail'" class="mod" id="modcomp" method="post" action="">
         <fieldset>
           <legend>Modify Component:</legend>
           <div class="field">
@@ -58,7 +58,7 @@
       </form>
 
       <py:otherwise>
-        <form class="addnew" id="addcomponent" method="post">
+        <form class="addnew" id="addcomponent" method="post" action="">
           <fieldset>
             <legend>Add Component:</legend>
             <div class="field">
@@ -72,7 +72,7 @@
         </form>
 
         <py:choose>
-          <form py:when="components" id="component_table" method="POST">
+          <form py:when="components" id="component_table" method="post" action="">
             <table class="listing" id="complist">
               <thead>
                 <tr><th class="sel">&nbsp;</th>
diff --git a/trac/admin/templates/admin_enums.html b/trac/admin/templates/admin_enums.html
--- a/trac/admin/templates/admin_enums.html
+++ b/trac/admin/templates/admin_enums.html
@@ -13,7 +13,7 @@
     <h2>Manage $label_plural</h2>
 
     <py:choose test="view">
-      <form py:when="'detail'" class="mod" id="modenum" method="post">
+      <form py:when="'detail'" class="mod" id="modenum" method="post" action="">
         <fieldset>
           <legend>Modify $label_singular</legend>
           <div class="field">
@@ -27,7 +27,7 @@
       </form>
 
       <py:otherwise>
-        <form class="addnew" id="addenum" method="post">
+        <form class="addnew" id="addenum" method="post" action="">
           <fieldset>
             <legend>Add $label_singular</legend>
             <div class="field">
@@ -40,7 +40,7 @@
         </form>
 
         <py:choose>
-          <form py:when="enums" id="enumtable" method="POST">
+          <form py:when="enums" id="enumtable" method="post" action="">
             <table class="listing" id="enumlist">
               <thead>
                 <tr><th class="sel">&nbsp;</th>
diff --git a/trac/admin/templates/admin_logging.html b/trac/admin/templates/admin_logging.html
--- a/trac/admin/templates/admin_logging.html
+++ b/trac/admin/templates/admin_logging.html
@@ -20,7 +20,7 @@
   <body>
     <h2>Logging</h2>
 
-    <form class="mod" id="modlog" method="post">
+    <form class="mod" id="modlog" method="post" action="">
       <fieldset>
         <legend>Configuration</legend>
         <div class="field">
diff --git a/trac/admin/templates/admin_milestones.html b/trac/admin/templates/admin_milestones.html
--- a/trac/admin/templates/admin_milestones.html
+++ b/trac/admin/templates/admin_milestones.html
@@ -13,7 +13,7 @@
     <h2>Manage Milestones</h2>
 
     <py:choose test="view">
-      <form py:when="'detail'" class="mod" method="post" id="modifymilestone">
+      <form py:when="'detail'" class="mod" method="post" id="modifymilestone" action="">
         <fieldset>
           <legend>Modify Milestone:</legend>
           <div class="field">
@@ -69,7 +69,7 @@
 
       <py:otherwise>
 
-        <form class="addnew" id="addmilestone" method="post">
+        <form class="addnew" id="addmilestone" method="post" action="">
           <fieldset>
             <legend>Add Milestone:</legend>
             <div class="field">
@@ -92,7 +92,7 @@
         </form>
 
         <py:choose>
-          <form py:when="milestones" id="milestone_table" method="POST">
+          <form py:when="milestones" id="milestone_table" method="post" action="">
             <table class="listing" id="millist">
               <thead>
                 <tr><th class="sel">&nbsp;</th>
diff --git a/trac/admin/templates/admin_plugins.html b/trac/admin/templates/admin_plugins.html
--- a/trac/admin/templates/admin_plugins.html
+++ b/trac/admin/templates/admin_plugins.html
@@ -16,7 +16,7 @@
   <body>
     <h2>Manage Plugins</h2>
 
-    <form id="addplug" class="addnew" method="post" enctype="multipart/form-data">
+    <form id="addplug" class="addnew" method="post" enctype="multipart/form-data" action="">
       <fieldset>
         <legend>Install Plugin:</legend>
         <div class="field">
@@ -40,7 +40,7 @@
       </fieldset>
     </form>
 
-    <form py:for="idx, plugin in enumerate(plugins)" method="post">
+    <form py:for="idx, plugin in enumerate(plugins)" method="post" action="">
       <div class="plugin">
         <h3>${plugin.name} ${plugin.version}</h3>
         <div class="uninstall buttons">
diff --git a/trac/admin/templates/admin_versions.html b/trac/admin/templates/admin_versions.html
--- a/trac/admin/templates/admin_versions.html
+++ b/trac/admin/templates/admin_versions.html
@@ -13,7 +13,7 @@
     <h2>Manage Versions</h2>
 
     <py:choose test="view">
-      <form py:when="'detail'" class="mod" id="modifyversion" method="post">
+      <form py:when="'detail'" class="mod" id="modifyversion" method="post" action="">
         <fieldset>
           <legend>Modify Version:</legend>
           <div class="field">
@@ -48,7 +48,7 @@
       </form>
 
       <py:otherwise>
-        <form class="addnew" id="addversion" method="post">
+        <form class="addnew" id="addversion" method="post" action="">
           <fieldset>
             <legend>Add Version:</legend>
             <div class="field">
@@ -69,7 +69,7 @@
         </form>
 
         <py:choose>
-          <form py:when="versions" id="version_table" method="POST">
+          <form py:when="versions" id="version_table" method="post" action="">
             <table class="listing" id="verlist">
               <thead>
                 <tr><th class="sel">&nbsp;</th>
diff --git a/trac/templates/about.html b/trac/templates/about.html
--- a/trac/templates/about.html
+++ b/trac/templates/about.html
@@ -9,9 +9,11 @@
     <title>About Trac</title>
     <link rel="stylesheet" type="text/css" href="${chrome.htdocs_location}css/about.css" />
     <script type="text/javascript">
+      //<![CDATA[
       jQuery(document).ready(function ($) {
         $("#systeminfo table").append("<tr><th>jQuery:</th><td>"+$().jquery+"</td></tr>");
       });
+      //]]>
     </script>
   </head>
 
diff --git a/trac/templates/history_view.html b/trac/templates/history_view.html
--- a/trac/templates/history_view.html
+++ b/trac/templates/history_view.html
@@ -15,8 +15,8 @@
       <h1>Change History for <a href="${url_of(resource)}">${name_of(resource)}</a></h1>
 
       <form py:if="history" class="printableform" method="get" action="">
-        <input type="hidden" name="action" value="diff" />
         <div class="buttons">
+          <input type="hidden" name="action" value="diff" />
           <input type="submit" value="View changes" />
         </div>
         <table id="fieldhist" class="listing" summary="Change history">
diff --git a/trac/templates/theme.html b/trac/templates/theme.html
--- a/trac/templates/theme.html
+++ b/trac/templates/theme.html
@@ -35,7 +35,7 @@
     <div id="main">
       <div id="ctxtnav" class="nav">
         <h2>Context Navigation</h2>
-          <ul>
+          <ul py:if="chrome.ctxtnav">
             <li py:for="i, elm in enumerate(chrome.ctxtnav)" class="${i == 0 and 'first ' or None}${i+1 == len(chrome.ctxtnav) and 'last' or None}">$elm</li>
           </ul>
         <hr />
diff --git a/trac/ticket/templates/milestone_delete.html b/trac/ticket/templates/milestone_delete.html
--- a/trac/ticket/templates/milestone_delete.html
+++ b/trac/ticket/templates/milestone_delete.html
@@ -21,15 +21,17 @@
       <h1>Delete Milestone ${milestone.name}</h1>
 
     <form id="edit" action="" method="post">
-      <input type="hidden" name="action" value="delete" />
-      <p><strong>Are you sure you want to delete this milestone?</strong></p>
-      <input type="checkbox" id="retarget" name="retarget" checked="checked" />
-      <label for="target">Retarget associated tickets to milestone</label>
-      <select name="target" id="target">
-        <option value="">None</option>
-        <option py:for="m in milestones"
-                py:if="m.name != milestone.name">${m.name}</option>
-      </select>
+      <div>
+        <input type="hidden" name="action" value="delete" />
+        <p><strong>Are you sure you want to delete this milestone?</strong></p>
+        <input type="checkbox" id="retarget" name="retarget" checked="checked" />
+        <label for="target">Retarget associated tickets to milestone</label>
+        <select name="target" id="target">
+          <option value="">None</option>
+          <option py:for="m in milestones"
+                  py:if="m.name != milestone.name">${m.name}</option>
+        </select>
+      </div>
       <div class="buttons">
        <input type="submit" name="cancel" value="Cancel" />
        <input type="submit" value="Delete milestone" />
diff --git a/trac/ticket/templates/milestone_edit.html b/trac/ticket/templates/milestone_edit.html
--- a/trac/ticket/templates/milestone_edit.html
+++ b/trac/ticket/templates/milestone_edit.html
@@ -38,9 +38,9 @@
       </py:choose>
 
       <form id="edit" action="" method="post">
-        <input type="hidden" name="id" value="${milestone.name}" />
-        <input type="hidden" name="action" value="edit" />
         <div class="field">
+          <input type="hidden" name="id" value="${milestone.name}" />
+          <input type="hidden" name="action" value="edit" />
           <label>Name of the milestone:<br />
             <input type="text" id="name" name="name" size="32" value="${milestone.name or req.args.get('name')}" />
           </label>
diff --git a/trac/ticket/templates/milestone_view.html b/trac/ticket/templates/milestone_view.html
--- a/trac/ticket/templates/milestone_view.html
+++ b/trac/ticket/templates/milestone_view.html
@@ -50,9 +50,12 @@
                       value="${group.name}" py:content="group.label"
                       selected="${grouped_by == group.name or None}" />
             </select>
-            <noscript><input type="submit" value="Update" /></noscript>
+            <input type="submit" value="Update" class="noscript" />
+            <script type="text/javascript">
+              jQuery(document).ready(function ($) { $(".noscript").attr("style", "display: none"); });
+            </script>
           </legend>
-          <table summary="Shows the milestone completion status grouped by ${grouped_by}">
+          <table py:if="groups" summary="Shows the milestone completion status grouped by ${grouped_by}">
             <tr py:for="group in groups">
               <th scope="row" py:choose="">
                 <i py:when="not group.name"><a href="${group.stats_href}">(none)</a></i>
@@ -83,12 +86,16 @@
                   attachments.can_create"
            class="buttons">
         <form py:if="'MILESTONE_MODIFY' in perm(milestone.resource)" method="get" action="" id="editmilestone">
-          <input type="hidden" name="action" value="edit" />
-          <input type="submit" value="Edit milestone" />
+          <div>
+            <input type="hidden" name="action" value="edit" />
+            <input type="submit" value="Edit milestone" />
+          </div>
         </form>
         <form py:if="'MILESTONE_DELETE' in perm(milestone.resource)" method="get" action="" id="deletemilestone">
-          <input type="hidden" name="action" value="delete" />
-          <input type="submit" value="Delete milestone" />
+          <div>
+            <input type="hidden" name="action" value="delete" />
+            <input type="submit" value="Delete milestone" />
+          </div>
         </form>
         ${attach_file_form(attachments)}
       </div>
diff --git a/trac/ticket/templates/report_delete.html b/trac/ticket/templates/report_delete.html
--- a/trac/ticket/templates/report_delete.html
+++ b/trac/ticket/templates/report_delete.html
@@ -13,10 +13,10 @@
     <div id="content" class="report">
       <h1>$report.title</h1>
       <form action="${href.report()}" method="post">
-        <input type="hidden" name="id" value="$report.id"/>
-        <input type="hidden" name="action" value="delete" />
         <p><strong>Are you sure you want to delete this report?</strong></p>
         <div class="buttons">
+          <input type="hidden" name="id" value="$report.id"/>
+          <input type="hidden" name="action" value="delete" />
           <input type="submit" name="cancel" value="Cancel"/>
           <input type="submit" value="Delete report"/>
         </div>
diff --git a/trac/ticket/templates/ticket.html b/trac/ticket/templates/ticket.html
--- a/trac/ticket/templates/ticket.html
+++ b/trac/ticket/templates/ticket.html
@@ -175,7 +175,7 @@
               <!--! Quote the description (only for existing tickets) -->
               <form py:if="ticket.exists and ticket.description and
                            'TICKET_APPEND' in perm(ticket.resource)"
-                name="addreply"
+                id="addreply"
                 method="get" action="#comment">
                 <div class="inlinebuttons">
                   <input type="hidden" name="replyto" value="description" />
@@ -235,7 +235,7 @@
                    ('TICKET_APPEND' in perm(ticket.resource) or
                     'TICKET_CHGPROP' in perm(ticket.resource) or
                     ('TICKET_CREATE' in perm(ticket.resource) and not ticket.id))"
-            action="${ticket.exists and href.ticket(ticket.id) or href.newticket()}" method="post" name="propform" id="propertyform">
+            action="${ticket.exists and href.ticket(ticket.id) or href.newticket()}" method="post" id="propform">
         <h3 py:if="ticket.exists"><a id="edit" onfocus="$('#comment').get(0).focus()">
             Add/Change #${ticket.id} ($ticket.summary)</a></h3>
         <div py:if="authname == 'anonymous'" class="field">
diff --git a/trac/ticket/tests/functional.py b/trac/ticket/tests/functional.py
--- a/trac/ticket/tests/functional.py
+++ b/trac/ticket/tests/functional.py
@@ -26,8 +26,8 @@
         tc.follow('New Ticket')
         summary = random_sentence(5)
         desc = random_sentence(5)
-        tc.formvalue('propertyform', 'field-summary', summary)
-        tc.formvalue('propertyform', 'field-description', desc)
+        tc.formvalue('propform', 'field-summary', summary)
+        tc.formvalue('propform', 'field-description', desc)
         tc.submit('preview')
         tc.url(self._tester.url + '/newticket$')
         tc.find('ticket not yet created')
@@ -41,7 +41,7 @@
         self._tester.go_to_front()
         tc.follow('New Ticket')
         desc = random_sentence(5)
-        tc.formvalue('propertyform', 'field-description', desc)
+        tc.formvalue('propform', 'field-description', desc)
         tc.submit('submit')
         tc.find(desc)
         tc.find('Tickets must contain a summary.')
@@ -96,14 +96,14 @@
         self._tester.go_to_ticket(ticketid)
         # Make a number of changes to exercise all of the RSS feed code
         self._tester.go_to_ticket(ticketid)
-        tc.formvalue('propertyform', 'comment', random_sentence(3))
-        tc.formvalue('propertyform', 'field-type', 'task')
-        tc.formvalue('propertyform', 'description', summary + '\n\n' +
-                                                    random_sentence(8))
-        tc.formvalue('propertyform', 'field-keywords', 'key')
+        tc.formvalue('propform', 'comment', random_sentence(3))
+        tc.formvalue('propform', 'field-type', 'task')
+        tc.formvalue('propform', 'description', summary + '\n\n' +
+                                                random_sentence(8))
+        tc.formvalue('propform', 'field-keywords', 'key')
         tc.submit('submit')
         time.sleep(1) # Have to wait a second
-        tc.formvalue('propertyform', 'field-keywords', '')
+        tc.formvalue('propform', 'field-keywords', '')
         tc.submit('submit')
 
         tc.find('RSS Feed')
@@ -169,7 +169,7 @@
         ticketid = self._tester.create_ticket(name)
         self._tester.go_to_ticket(ticketid)
         tc.formvalue
-        tc.formvalue('propertyform', 'description', random_sentence(6))
+        tc.formvalue('propform', 'description', random_sentence(6))
         tc.submit('submit')
         tc.find('description<[^>]*>\\s*modified \\(<[^>]*>diff', 's')
         tc.follow('diff')
diff --git a/trac/wiki/templates/wiki_delete.html b/trac/wiki/templates/wiki_delete.html
--- a/trac/wiki/templates/wiki_delete.html
+++ b/trac/wiki/templates/wiki_delete.html
@@ -21,8 +21,8 @@
       ">
       <h1>Delete $range <a href="$current_href">$page.name</a></h1>
       <form action="$current_href" method="post">
-        <input type="hidden" name="action" value="delete" />
         <p>
+          <input type="hidden" name="action" value="delete" />
           <strong>Are you sure you want to ${not range and 'completely' or ''} delete $range this page?</strong>
           <br />
           <py:if test="num_versions == 1">
diff --git a/trac/wiki/templates/wiki_diff.html b/trac/wiki/templates/wiki_diff.html
--- a/trac/wiki/templates/wiki_diff.html
+++ b/trac/wiki/templates/wiki_diff.html
@@ -9,12 +9,14 @@
     <form py:if="'WIKI_DELETE' in perm(page.resource) and
                  (not changes[0].diffs or new_version == latest_version)"
       method="get" action="${href.wiki(page.name)}">
-      <input type="hidden" name="action" value="delete" />
-      <input type="hidden" name="version" value="$new_version" />
-      <input type="hidden" name="old_version" value="$old_version" />
-      <input type="submit" name="delete_version" value="Delete ${
-        new_version - old_version &gt; 1 and 'version %d to ' % (old_version+1) or ''
-        }version $new_version" />
+      <div>
+        <input type="hidden" name="action" value="delete" />
+        <input type="hidden" name="version" value="$new_version" />
+        <input type="hidden" name="old_version" value="$old_version" />
+        <input type="submit" name="delete_version" value="Delete ${
+          new_version - old_version &gt; 1 and 'version %d to ' % (old_version+1) or ''
+          }version $new_version" />
+      </div>
     </form>
   </div></py:match>
   <py:with vars="resource = page.resource">

