我正在开发一个简单的计算器工具。现在,我正在使用
<input>
的元素
readonly
属性以设置计算结果的样式。然而,尽管我认为这会产生令人满意的美学效果,但我担心这是一个糟糕的可访问性选择,因为这不是输入,而是输出。不同的HTML元素在这里更合适吗?
以下是我尝试做的一个小复制:
<h1>Triangle Area Calculator</h1>
<form>
<ul>
<li>
<label for="base">Triangle base:</label>
<input type="number" step="any" id="base" name="base" required onchange="checkComplete()">
</li>
<li>
<label for="height">Triangle height:</label>
<input type="number" step="any" id="height" name="height" required onchange="checkComplete()">
</li>
<li>
<label for="area">Triangle area:</label>
<input type="number" step="any" class="result" id="area" name="result" readonly>
</li>
</ul>
</form>
form ul {
list-style: none;
}
input.result{
background-color: whitesmoke;
}
function checkComplete() {
base_input = document.getElementById("base")
height_input = document.getElementById("height")
area_result = document.getElementById("area")
if (base_input.checkValidity() && height_input.checkValidity()){
area_result.value = base_input.value * height_input.value/2
}
else{
area_result.value = ""
}
}
这是上面的一个
JSFiddle project.