8

我们想在我们的网站上运行扫描,以返回包含以下内容的报告:

  1. 找到的每个图像标签以及该图像在报告上的可视化表示
  2. 该图像的 alt 属性(也确定是否找不到 alt 属性)

有没有一个简单的工具可以做到这一点?我们正在尝试检查 alt 属性,并确保 alt 属性准确地描述了它们所代表的图像。这就是报告中的可视化表示很重要的原因。

4

6 回答 6

3

试试 Python 包 Beautiful Soup。它将以非常简单的语句为您解析所有 HTML。试试这个代码:

website = urllib2.urlopen(url)
websitehtml = website.read()
soup = BeautifulSoup(websitehtml)
matches = soup.findAll('img')
for row in matches:
    print row['src']
    print row['alt']

从这里用于row['src']设置图像并在其旁边src打印。alt

于 2012-04-06T00:38:46.543 回答
1

Accessify.com 有大量的可访问性测试工具,例如书签(或“favelets”)。其中一个做我认为你正在寻找的东西。在该页面上查找“Alt 属性 - 显示全部”。将该链接拖到您的书签中,然后在您要测试的页面上使用它。

此外,Web Accessibilty 工具栏(适用于 Internet Explorer 和 Opera)在“图像”下有一个“列出图像”选项,它会做同样的事情 - 列出图像和与每个图像相关联的代码。

至于检查整个站点,有免费的可访问性检查器可用,它们应该具有这样的功能,例如aDesigner

于 2011-03-24T12:37:12.017 回答
0

听起来你想要的东西就像 Jeremy 提供的一样。即,只是每个图像及其 alt 属性的长列表。问题是这不会为您提供足够的上下文来提供有用的 alt 属性,因为 alt 属性不应该(通常)“准确地描述 [...] 它们所代表的图像”,而是描述图像是什么意在代表当前页面。很难提供关于如何编写有用的替代文本的简短描述。关于 alt 属性的Wikipedia 文章本身在当前状态下有点糟糕,但参考资料很有用。当然,还有许多 其他与此相关的 SO 问题

可能有一些预先编写的工具可以满足您的要求,例如,如果所有页面都可以从起始页面访问,则可以只抓取整个网站并生成列表。但是,如果只能通过搜索等方式访问某些页面,则可能需要一些特定于站点的工具。

无论哪种方式,让我们假设我们有这样的工具可用。即便如此,它的使用也相当有限。即使您可以获得网站上所有图像的列表及其相关的替代文本,您仍然必须访问所有页面,一次一页,并且可能在某些浏览器中使用一些 Web 开发人员扩展(有这样的工具我认为在其他答案中提供)显示页面上的所有替代文本;然后,您发现图像在相关页面上实际用于什么之后,修复替代文本。

因此,您请求的此工具仅对查找可能不正确使用 alt 属性的页面(即,任何带有图像的页面)有用。(但取决于所考虑的站点,即使这也可能会有所帮助。)您仍然需要打开实际使用图像的网页(或者,如果您愿意,请阅读该页面的 HTML 代码)以找出正确/更好的替代文本是什么。

因此,您最多会得到一个包含您必须检查的图像的页面列表。但这仍然会遗漏一些重要的情况,例如 CSSbackground-image属性用于显示按钮(而不是img图像)的情况,它应该有一个替代文本。

于 2012-04-30T19:07:26.390 回答
0

这个答案关于使用 Selenium 检查您的网站是否存在带有替代文本的图像的一些指示。

于 2012-03-10T05:32:26.923 回答
0

http://sourceforge.net/projects/simplehtmldom/

我会使用类似的东西,非常好且易于使用!

于 2011-01-06T15:50:18.473 回答
0

您可以使用功能强大的 JAVA API:JSOUP

构建选择器的文档:选择器语法

培训:在线实验室

对于您的情况:

Document doc = Jsoup.connect("https://stackoverflow.com/").get();
    System.out.println(doc.title());
    Elements imgWithAltAttr = doc.select("img[alt]");
    for (Element img : imgWithAltAttr) {
        System.out.println("%s\n\t%s",
                img.attr("alt"), img.absUrl("src"));
    }

我们在 accessibilty 项目中使用 Jsoup: https ://github.com/Tanaguru/Tanaguru

于 2018-03-29T09:53:19.153 回答