diff --git a/suite/browser/pageInfo.js b/suite/browser/pageInfo.js
index 525c06c04048..d06ca807ef8a 100644
--- a/suite/browser/pageInfo.js
+++ b/suite/browser/pageInfo.js
@@ -570,7 +570,7 @@ function makeMediaTab()
var theBundle = document.getElementById("pageinfobundle");
var imageTree = document.getElementById("imagetree");
- var imageView = new pageInfoTreeView(["image-number","image-address","image-type"], COPYCOL_IMAGE_ADDRESS);
+ var imageView = new pageInfoTreeView(["image-number","image-address","image-type","image-alt"], COPYCOL_IMAGE_ADDRESS);
imageTree.treeBoxObject.view = imageView;
imageList = grabAllMedia(theWindow, theDocument);
@@ -581,6 +581,7 @@ function makeMediaTab()
var mediaEmbed = theBundle.getString("mediaEmbed");
var mediaLink = theBundle.getString("mediaLink");
var mediaInput = theBundle.getString("mediaInput");
+ var notSet = theBundle.getString("notset");
var row = null;
var length = imageList.length;
@@ -592,10 +593,10 @@ function makeMediaTab()
switch (elem.nodeName.toLowerCase())
{
case "img":
- imageView.addRow([++imageIndex, elem.src, mediaImg]);
+ imageView.addRow([++imageIndex, elem.src, mediaImg, (elem.hasAttribute("alt")) ? elem.alt : notSet ]);
break;
case "input":
- imageView.addRow([++imageIndex, elem.src, mediaInput]);
+ imageView.addRow([++imageIndex, elem.src, mediaInput, (elem.hasAttribute("alt")) ? elem.alt : notSet ]);
break;
case "applet":
imageView.addRow([++imageIndex, elem.code || elem.object, mediaApplet]);
@@ -713,11 +714,30 @@ function makePreview(item)
var theBundle = document.getElementById("pageinfobundle");
var unknown = theBundle.getString("unknown");
var notSet = theBundle.getString("notset");
+ var emptyString = theBundle.getString("emptystring");
var url = ("src" in item && item.src) || ("code" in item && item.code) || ("data" in item && item.data) || ("href" in item && item.href) || unknown; // it better have at least one of those...
document.getElementById("imageurltext").value = url;
document.getElementById("imagetitletext").value = item.title || notSet;
- document.getElementById("imagealttext").value = ("alt" in item && item.alt) || getValueText(item) || notSet;
+
+ var altText = null;
+ if (item.hasAttribute("alt") && ("alt" in item))
+ altText = item.alt;
+ else if (item.hasChildNodes())
+ altText = getValueText(item);
+ if (altText == null)
+ altText = notSet;
+ var textbox=document.getElementById("imagealttext");
+ // IMO all text that is not really the value text should go in italics
+ // What if somebody has ? =)
+ // We can't use textbox.style because of bug 7639
+ if (altText=="") {
+ textbox.value = emptyString;
+ textbox.setAttribute("style","font-style:italic");
+ } else {
+ textbox.value = altText;
+ textbox.setAttribute("style","font-style:inherit");
+ }
document.getElementById("imagelongdesctext").value = ("longDesc" in item && item.longDesc) || notSet;
// find out the mime type
diff --git a/suite/browser/pageInfo.xul b/suite/browser/pageInfo.xul
index f61b48c6d8a1..3d8552cb9df5 100644
--- a/suite/browser/pageInfo.xul
+++ b/suite/browser/pageInfo.xul
@@ -236,7 +236,7 @@
-
+
+
diff --git a/suite/locales/en-US/chrome/browser/pageInfo.dtd b/suite/locales/en-US/chrome/browser/pageInfo.dtd
index d2e2d98f187c..1ae2a0943256 100644
--- a/suite/locales/en-US/chrome/browser/pageInfo.dtd
+++ b/suite/locales/en-US/chrome/browser/pageInfo.dtd
@@ -88,6 +88,7 @@
+
diff --git a/suite/locales/en-US/chrome/browser/pageInfo.properties b/suite/locales/en-US/chrome/browser/pageInfo.properties
index 668bbe55e1a1..1eb4c8a21a24 100644
--- a/suite/locales/en-US/chrome/browser/pageInfo.properties
+++ b/suite/locales/en-US/chrome/browser/pageInfo.properties
@@ -29,6 +29,7 @@ pageTitle=%S:
unknown=Unknown
default=Default
notset=Not Specified
+emptystring=Empty String
generalNotCached=(not cached)
generalNoExpiration=(no expiration set)