Index: admin/js/_blog_theme.js
===================================================================
--- admin/js/_blog_theme.js	(revision 3706)
+++ admin/js/_blog_theme.js	(revision 3768)
@@ -8,11 +8,12 @@
     $(this).after(
       $(bar).toggleWithLegend($(this).parent().children('.toggle-bloc'), {
-        img_on_src: dotclear.img_plus_theme_src,
+        img_on_txt: dotclear.img_plus_theme_txt,
         img_on_alt: dotclear.img_plus_theme_alt,
-        img_off_src: dotclear.img_minus_theme_src,
+        img_off_txt: dotclear.img_minus_theme_txt,
         img_off_alt: dotclear.img_minus_theme_alt,
         legend_click: true
       }));
     $(this).children('img').click(function() {
+      // Click on theme thumbnail
       $(this).parent().parent().children('.bloc-toggler').click();
     });
@@ -43,4 +44,7 @@
     $('input[type=submit]', this).click(function() {
       var keyword = $(this).attr('name');
+      if (!keyword) {
+        return true;
+      }
       var maction = keyword.match(rxActionType);
       var action = maction[0];
Index: admin/js/_plugins.js
===================================================================
--- admin/js/_plugins.js	(revision 3762)
+++ admin/js/_plugins.js	(revision 3768)
@@ -6,7 +6,7 @@
   $('table.modules.expandable tr.line').each(function() {
     $('td.module-name, th.module-name', this).toggleWithLegend($(this).next('.module-more'), {
-      img_on_src: dotclear.img_plus_src,
+      img_on_txt: dotclear.img_plus_txt,
       img_on_alt: dotclear.img_plus_alt,
-      img_off_src: dotclear.img_minus_src,
+      img_off_txt: dotclear.img_minus_txt,
       img_off_alt: dotclear.img_minus_alt,
       legend_click: true
@@ -28,4 +28,7 @@
     $('input[type=submit]', this).click(function() {
       var keyword = $(this).attr('name');
+      if (!keyword) {
+        return true;
+      }
       var maction = keyword.match(rxActionType);
       var action = maction[0];
Index: admin/js/common.js
===================================================================
--- admin/js/common.js	(revision 3706)
+++ admin/js/common.js	(revision 3768)
@@ -69,7 +69,7 @@
 jQuery.fn.toggleWithLegend = function(target, s) {
   var defaults = {
-    img_on_src: dotclear.img_plus_src,
+    img_on_txt: dotclear.img_plus_txt,
     img_on_alt: dotclear.img_plus_alt,
-    img_off_src: dotclear.img_minus_src,
+    img_off_txt: dotclear.img_minus_txt,
     img_off_alt: dotclear.img_minus_alt,
     unfolded_sections: dotclear.unfolded_sections,
@@ -96,10 +96,10 @@
     speed = speed || 0;
     if (p.hide) {
-      $(i).get(0).src = p.img_on_src;
-      $(i).get(0).alt = p.img_on_alt;
+      $(i).get(0).value = p.img_on_txt;
+      $(i).get(0).setAttribute('aria-label', p.img_on_alt);
       target.addClass('hide');
     } else {
-      $(i).get(0).src = p.img_off_src;
-      $(i).get(0).alt = p.img_off_alt;
+      $(i).get(0).value = p.img_off_txt;
+      $(i).get(0).setAttribute('aria-label', p.img_off_alt);
       target.removeClass('hide');
       if (p.fn) {
@@ -122,20 +122,16 @@
   };
   return this.each(function() {
-    var i = document.createElement('img');
-    i.src = p.img_off_src;
-    i.alt = p.img_off_alt;
-    var a = document.createElement('a');
-    a.href = '#';
-    $(a).append(i);
-    $(a).css({
-      border: 'none',
-      outline: 'none'
-    });
-    var ctarget = p.legend_click ? this : a;
+    var b = document.createElement('input');
+    b.setAttribute('type', 'submit');
+    b.className = 'details-cmd';
+    b.value = p.img_on_txt;
+    b.setAttribute('aria-label', p.img_off_alt);
+
+    var ctarget = p.legend_click ? this : b;
     $(ctarget).css('cursor', 'pointer');
     if (p.legend_click) {
       $(ctarget).find('label').css('cursor', 'pointer');
     }
-    $(ctarget).click(function() {
+    $(ctarget).click(function(e) {
       if (p.user_pref && set_user_pref) {
         if (p.hide ^ p.reverse_user_pref) {
@@ -158,9 +154,10 @@
         });
       }
-      toggle(i, p.speed);
+      toggle(b, p.speed);
+      e.preventDefault();
       return false;
     });
-    toggle($(i).get(0));
-    $(this).prepend(' ').prepend(a);
+    toggle($(b).get(0));
+    $(this).prepend(b);
   });
 };
@@ -180,5 +177,5 @@
   };
   var singleExpander = function singleExpander(line) {
-    $('<input type="image" src="' + dotclear.img_plus_src + '" alt="' + dotclear.img_plus_alt + '"/>').click(function(e) {
+    $('<input class="details-cmd" type="submit" value="' + dotclear.img_plus_txt + '" aria-label="' + dotclear.img_plus_alt + '"/>').click(function(e) {
       toggleArrow(this);
       $.expandContent.options.callback.call(this, line);
@@ -187,5 +184,5 @@
   };
   var multipleExpander = function multipleExpander(line, lines) {
-    $('<input type="image" src="' + dotclear.img_plus_src + '" alt="' + dotclear.img_plus_alt + '"/>').click(function(e) {
+    $('<input class="details-cmd" type="submit" value="' + dotclear.img_plus_txt + '" aria-label="' + dotclear.img_plus_alt + '"/>').click(function(e) {
       var that = this;
       var action = toggleArrow(this);
@@ -200,5 +197,5 @@
     action = action || '';
     if (action == '') {
-      if (button.alt == dotclear.img_plus_alt) {
+      if (button.getAttribute('aria-label') == dotclear.img_plus_alt) {
         action = 'open';
       } else {
@@ -207,9 +204,9 @@
     }
     if (action == 'open') {
-      button.src = dotclear.img_minus_src;
-      button.alt = dotclear.img_minus_alt;
-    } else {
-      button.src = dotclear.img_plus_src;
-      button.alt = dotclear.img_plus_alt;
+      button.value = dotclear.img_minus_txt;
+      button.setAttribute('aria-label', dotclear.img_minus_alt);
+    } else {
+      button.value = dotclear.img_plus_txt;
+      button.setAttribute('aria-label', dotclear.img_plus_alt);
     }
     return action;
@@ -221,7 +218,7 @@
   }
   var p = {
-    img_on_src: dotclear.img_plus_src,
+    img_on_txt: dotclear.img_plus_txt,
     img_on_alt: dotclear.img_plus_alt,
-    img_off_src: dotclear.img_minus_src,
+    img_off_txt: dotclear.img_minus_txt,
     img_off_alt: dotclear.img_minus_alt
   };
@@ -247,8 +244,8 @@
   };
   var textToggler = function(o) {
-    var i = $('<img src="' + p.img_on_src + '" alt="' + p.img_on_alt + '" />');
+    var b = $('<input class="details-cmd" type="submit" value="' + p.img_on_txt + '" aria-label="' + p.img_on_alt + '"/>');
     o.css('cursor', 'pointer');
     var hide = true;
-    o.prepend(' ').prepend(i);
+    o.prepend(' ').prepend(b);
     o.click(function() {
       $(this).nextAll().each(function() {
@@ -261,9 +258,11 @@
       });
       hide = !hide;
-      var img = $(this).find('img');
+      var img = $(this).find('input.details-cmd');
       if (!hide) {
-        img.attr('src', p.img_off_src);
-      } else {
-        img.attr('src', p.img_on_src);
+        img.attr('value', p.img_off_txt);
+        img.attr('aria-label', p.img_off_alt);
+      } else {
+        img.attr('value', p.img_on_txt);
+        img.attr('aria-label', p.img_on_alt);
       }
     });
@@ -278,6 +277,7 @@
   var img = $('<p id="help-button"><span><a href="">' + dotclear.msg.help + '</a></span></p>');
   var select = $();
-  img.click(function() {
+  img.click(function(e) {
     return toggle();
+    e.preventDefault();
   });
   $('#content').append(img);
