diff --git a/include/simpleplugin/class_attribute.inc b/include/simpleplugin/class_attribute.inc
index a554fcde52c74e0a2c4bafd3de7cb2461b693f2b..a1e38c2445f44a8e8882c53e16acaf8c5258100d 100644
--- a/include/simpleplugin/class_attribute.inc
+++ b/include/simpleplugin/class_attribute.inc
@@ -623,7 +623,7 @@ class Attribute
     ));
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     return array($this->getHtmlId());
   }
@@ -1691,7 +1691,7 @@ class FileDownloadAttribute extends FileAttribute
     return $this->renderAcl($display);
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     $id   = $this->getHtmlId();
     $ids  = array('download'.$id);
@@ -1758,7 +1758,7 @@ class FileTextAreaAttribute extends FileDownloadAttribute
     return $this->renderAcl($display).parent::renderFormInput();
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     $ids    = parent::htmlIds();
     $ids[]  = $id.'_text';
@@ -1898,7 +1898,7 @@ class ImageAttribute extends FileAttribute
     return $this->renderAcl($display);
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     $id = $this->getHtmlId();
     return array($id.'_img',$id,'upload'.$id);
@@ -2307,7 +2307,7 @@ class SetAttribute extends Attribute
     return array_values($this->value);
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     $id = $this->getHtmlId();
     return array_merge(array('add'.$id,'del'.$id,'row'.$id), $this->attribute->htmlIds());
@@ -2631,7 +2631,7 @@ class CompositeAttribute extends Attribute
     return $display;
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     $ret = array();
     foreach ($this->attributes as &$attribute) {
@@ -2909,7 +2909,7 @@ class OrderedArrayAttribute extends SetAttribute
     }
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     $id   = $this->getHtmlId();
     $ids  = array('add'.$id);
diff --git a/include/simpleplugin/class_dialogAttributes.inc b/include/simpleplugin/class_dialogAttributes.inc
index 0fc798cb432e017d4f91b635a4a33ff8b9aa15f7..2fb432e15391ff6f422492615a7b95bed6ee1f74 100644
--- a/include/simpleplugin/class_dialogAttributes.inc
+++ b/include/simpleplugin/class_dialogAttributes.inc
@@ -223,7 +223,7 @@ class DialogAttribute extends SetAttribute
     return $buttons;
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     $id = $this->getHtmlId();
     return array('add'.$id.'_dialog','del'.$id,'row'.$id);
@@ -288,7 +288,7 @@ class DialogOrderedArrayAttribute extends OrderedArrayAttribute
     );
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     $ids = parent::htmlIds();
     $ids[0] .= '_dialog';
@@ -525,7 +525,7 @@ class MailsAttribute extends DialogAttribute
     return $buttons;
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     $id = $this->getHtmlId();
     return array('add'.$id,'add'.$id.'_dialog','del'.$id,'row'.$id);
@@ -696,7 +696,7 @@ class UserAttribute extends DialogButtonAttribute
     }
   }
 
-  protected function htmlIds()
+  public function htmlIds()
   {
     $ids = array($this->getHtmlId());
     if (!$this->isRequired()) {