工具提示是了解应用程序非常有用的界面范例.它们是可视控件和与该控件关联的应用程序特定操作之间的映射.用户可以通过悬停鼠标指针来探索操作而无需调用它.
触摸设备使这种范例基本上不可能.这限制了应用程序的可用性,这在某些情况下变得非常神秘.
您是否知道触摸设备是否存在工具提示概念的替代品?它们在ui交互中实际上缺乏一个自由度:指针位置.如何有效地重新获得这种沟通渠道?
在面向文章的页面(例如博客文章)中,<h1>元素(级别1标题)通常用于标记:
<title>元素),或什么是最好的选择,为什么?
对于网站所有者,他们可能想要向世界喊出他们的网站/博客的名称,使用网站标题周围的1级标题似乎是有道理的.
从您尝试与用户沟通的角度来看,网站标题的相关性较低 - 文章内容是您尝试传达的内容,而所有其他网站内容都是次要内容.因此,使用<h1>文章标题似乎是最好的.
我觉得<h1>元素应该关注文章标题,而不是网站标题或其他内容.无论如何,这似乎不是一个受欢迎的公约.
例子:
<h1>的文章标题,并为网站的标题锚<h1>可言,<h2>对文章标题和网站标题锚<h1>的网站标题和文章的标题锚这是三个站点中的三种不同方法,您可能会期望对正确的语义标记进行强烈考虑.
我认为乔尔在杰夫紧随其后是正确的.我很惊讶37Signals人的加成选择.
对我来说,这似乎是一个非常简单的决定:与文章的消费者最相关的是什么?文章标题.因此将文章标题包装在<h1>元素中.完成.
我错了吗?我还缺少进一步的考虑因素吗?我对吗?如果是这样,为什么' <h1>for article title'方法不常用?
决定使用<h1>元素的位置是不变的,就像我说的那样?或者还有一些主观考虑因素吗?
更新:感谢目前为止的所有答案.对于如何使用<h1>文章标题而不是网站标题有利于可用性和可访问性(或者不是,视情况可能或不是),我真的很感激.基于事实而不仅仅是个人假设的答案将获得许多奖励积分!
我在容器中有一个基本表.该表将有大约25列.我试图在桌面溢出时添加一个水平滚动条,我正在度过一段非常艰难的时光.
现在发生的是,表格单元通过自动调整单元格的高度并保持固定的表格宽度来容纳单元格内容.
我很感激为什么我的方法没有解决这个问题的任何建议.
提前谢谢了!
CSS
.search-table-outter {margin-bottom:30px; }
.search-table{table-layout: fixed; margin:40px auto 0px auto; overflow-x:scroll; }
.search-table, td, th{border-collapse:collapse; border:1px solid #777;}
th{padding:20px 7px; font-size:15px; color:#444; background:#66C2E0;}
td{padding:5px 10px; height:35px;}
tr:nth-child(even) {background: #f5f5f5;}
tr:nth-child(odd) {background: #FFF;}
Run Code Online (Sandbox Code Playgroud)
HTML
<div class="search-table-outter wrapper">
<table class="search-table inner">
<tr>
<th>Col1</th>
<th>col2</th>
<th>col3</th>
<th>col4</th>
<th>col5</th>
<th>col5</th>
</tr>
<?php echo $rows; ?>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
JS小提琴(注意:如果可能的话,我希望水平滚动条位于带红色边框的容器中):http: //jsfiddle.net/ZXnqM/3/
<label>在ASP.NET应用程序中使用标记的最佳方法是什么?我希望它是XHTML有效,可访问和可用.
我理解最佳方式是这样的:
<label for="Username">Username:</label>
<input type="text" id="Username" runat="server" />
Run Code Online (Sandbox Code Playgroud)
但是如果上面的代码在ASP.NET用户控件中,输入ID将会改变,这意味着标签的"for"属性是无用的.我可以将label标签设置为服务器控件,并在代码中设置它为"for"属性(Username.ClientID),但对于这么简单的事情来说似乎有很多工作要做.
我也看过过去使用过的HTML:
<label>
<span>Username</span>
<input type="text" id="Username" runat="server" />
</label>
Run Code Online (Sandbox Code Playgroud)
什么是最佳方法?
您知道哪些技术用于创建用户友好的GUI?
我可以命名以下特别有用的技术:
您是否在软件中实现了列出的技术?
编辑:
正如Ryan P所提到的,创建可用应用程序的最佳方法之一就是将自己置于用户的位置.我完全同意这一点,但我想在本主题中看到的是具体技术(如我上面提到的那些)而不是一般性建议.
我有很多溢出的div用于在小空间中显示大量内容(如长列表等).赋予div的CSS规则overflow: auto;总是像魅力一样,给用户滚动条以指示更多内容可用.
这有点被抛出Mac OS X Lion窗口,默认情况下隐藏滚动条,除非你正在主动滚动.我在计算机上处理应用程序时喜欢它,因为我认为有非常强大的视觉线索可以滚动查看更多内容.在网页元素上,它不太清楚,我担心我的用户不会知道有更多内容可用(例如:在输入新问题时,StackOverflow的"具有相似标题的问题"就是一个很好的例子).
这是一个合理的问题,或者Lion用户是否知道如果某些内容似乎被切断,则表明滚动可能是可用的?是否有任何变通方法,比如强制在Lion上运行的浏览器呈现滚动条,如果它是页面上的元素(而不是页面本身)?
有没有办法测试GUI是否可用于色盲人?
我知道它有很多学位,我想这就是为什么简单地用黑白做截图并不是测试色盲人GUI的可用性的最佳方法.这样做的最佳方式或最佳工具是什么?
我们的大多数Eclipse项目都有多个源文件夹,例如:
右键单击某个类并选择New JUnit Test时,新测试的默认源文件夹是"src/main/java"(可能是项目属性中列出的第一个源文件夹).
有没有办法更改新JUnit测试的默认源文件夹,这样当我执行上述操作时,默认情况下会在"src/test/java"文件夹中创建新测试?
虽然这更像是一种书面语言问题而不是编码语言问题,但程序员必须在客户或其他人不提供复制的情况下这样做.任何错误消息的例子,无论好坏,都欢迎指出.
我简短地搜索过,找不到欺骗线程.好的,有它.谢谢,所有.
虽然我曾经在Xcode的早期版本中用Cmd+ 编译单个源文件,K但是在Xcode 4中如何做同样的事情呢?(请注意,这与预处理或显示文件的反汇编不同.)如果建议从命令行进行编译,则必须包含项目的设置,包括路径,预处理器定义等.
一个示例用例是我更改头文件但只想测试更改对单个源文件的影响,而不是所有依赖于该头的文件.