專利名稱:識別網(wǎng)頁上鍵盤不可訪問節(jié)點的方法以及裝置的制作方法
技術領域:
本公開涉及計算機、互聯(lián)網(wǎng)等技術,更具體地,涉及網(wǎng)頁上的節(jié)點信息識別技術。
背景技術:
為了使網(wǎng)頁應用可訪問,網(wǎng)頁上的所有可操作的元素(諸如按鈕、文本輸入、鏈接等)都應該是鍵盤可達的,并且應該附有鼠標事件和鍵盤事件兩者。鼠標事件例如包括確定鍵和選項鍵的按下、松開,導向輪的滑動等,鍵盤事件例如包括鍵盤的各個鍵的按下、松開等。在信息無障礙驗證測試(AVT)中,一個重要的步驟是識別所有鼠標可操作的元素,并接著驗證它們是否鍵盤可達,以及是否附有相關的鍵盤事件。至今為止,已存在可以分析靜態(tài)網(wǎng)頁,收集鼠標可操作對象,并接著檢查它們是否具有相關的鍵盤事件的工具,例如Web King。Web King是用于網(wǎng)頁靜態(tài)代碼掃描的工具, 其通過對靜態(tài)代碼中聲明的可操作標簽,例如〈button〉,〈input〉等進行掃描,查看其是否聲明了相關的事件。對于^feb 2. 0技術,網(wǎng)頁上應用有擴展和動態(tài)的Javakript。網(wǎng)頁上的許多元素是動態(tài)生成的,雖然它們可以被定制為鼠標可操作,但是它們并不是標準HTML可操作元素,例如<div>或〈span〉的HTML元素。同時,某些事件在編程時被綁定到元素上,而不是被定義為該元素的顯式屬性,例如,dojo connect函數(shù)可以將事件通過編程連接到元素上。 也就是說,在狗132. 0中,節(jié)點可以不是傳統(tǒng)意義中的可操作標簽,例如〈button〉、〈input〉 等,可以使用任意的HTML節(jié)點標簽,例如<div>、<span>等等,節(jié)點的事件也可以不在編寫源碼的時候寫入,而是在生成頁面時通過JavMcript動態(tài)地加載事件。甚至對于傳統(tǒng)的可操作標簽,其事件也可以通過在頁面生成時動態(tài)地掛載。因此,對于通過掃描靜態(tài)代碼的掃描工具來說,在頁面沒有生成前,無法檢測此類節(jié)點的鍵盤和鼠標事件等。對于這些新的情況,現(xiàn)有的對標準HTML可操作元素的靜態(tài)分析工具已經不適用了。由于上述原因,目前大多數(shù)的分析工作都是通過手動完成的。AVT測試者必須通過鼠標和鍵盤手工地操作網(wǎng)頁上的所有元素,然后獲得鍵盤不可達或者缺少相關鍵盤事件的元素列表,這很費時而且易出錯誤。
發(fā)明內容
根據(jù)本公開的一個方面,提供了一種用于識別網(wǎng)頁上鍵盤不可訪問節(jié)點的方法, 包括步驟獲取網(wǎng)頁的結構樹中的所有節(jié)點;識別所有節(jié)點中的鼠標可操作節(jié)點;檢查所述鼠標可操作節(jié)點是否鍵盤可達以及是否鍵盤可操作;提取鍵盤不可達的節(jié)點以及鍵盤不可操作的節(jié)點,作為所述鍵盤不可訪問節(jié)點。根據(jù)本公開的另一個方面,提供了一種用于識別網(wǎng)頁上鍵盤不可訪問節(jié)點的裝置,包括獲取單元,獲取網(wǎng)頁的結構樹中的所有節(jié)點;第一識別單元,識別所有節(jié)點中的鼠標可操作節(jié)點;第二識別單元,檢查所述鼠標可操作節(jié)點是否鍵盤可達以及是否鍵盤可操作;以及確定單元,提取鍵盤不可達的節(jié)點以及鍵盤不可操作的節(jié)點,作為所述鍵盤不可訪問節(jié)點。利用本公開的方法和裝置,通過在頁面生成后,直接對內存中已經生成的文檔對象模型(DOM)進行操作和檢測,可以更精確地確定網(wǎng)頁上的鍵盤不可達以及鍵盤不可操作的元素,做到對于任何有事件的節(jié)點的檢測,從而提高網(wǎng)頁設計的效率與精度。
從下面結合附圖對本公開的實施例的詳細描述中,本公開的這些和/或其它方面和優(yōu)點將變得更加清楚并更容易理解,其中,圖1是示出根據(jù)本公開的第一實施例的識別網(wǎng)頁上鍵盤不可訪問節(jié)點的裝置的方框圖;圖2是示出根據(jù)本公開的第二實施例的識別網(wǎng)頁上鍵盤不可訪問節(jié)點的方法的流程圖;圖3是示出圖2中的子步驟的進一步的流程圖;以及圖4是示出圖2中的子步驟的進一步的流程圖。
具體實施例方式下面將結合附圖詳細描述本公開的具體實施例。如果對某些相關現(xiàn)有技術的詳細描述可能會混淆本公開的要點,則不會在這里提供其詳細描述。在各個實施例中,相同的附圖標記用于表示執(zhí)行同樣功能的元件或單元。這里首先描述本公開的部分術語鍵盤不可訪問的節(jié)點,是指鍵盤不能對其進行訪問的、網(wǎng)頁上的節(jié)點,包括鍵盤不可達的節(jié)點以及鍵盤不可操作的節(jié)點。鍵盤不可達的節(jié)點,是指通過觸發(fā)鍵盤上的例如<tab>、〈上 >、< 下〉、〈左〉、〈右 >等鍵所獲得的光標焦點在其上無效的節(jié)點,或者具有鍵盤“禁用”屬性的節(jié)點等。鍵盤不可操作的節(jié)點,是指響應于鍵盤事件的發(fā)出,不能引起網(wǎng)頁狀態(tài)發(fā)生改變的節(jié)點。鼠標可操作節(jié)點,是指響應于鼠標事件的發(fā)出,能引起網(wǎng)頁狀態(tài)發(fā)生改變的節(jié)點。圖1是示出根據(jù)本公開的第一實施例的識別網(wǎng)頁上鍵盤不可訪問節(jié)點的裝置的方框圖。如圖1所示,根據(jù)本公開第一實施例的識別網(wǎng)頁上鍵盤不可訪問節(jié)點的裝置100 包括獲取單元102,獲取網(wǎng)頁的結構樹中的所有節(jié)點;第一識別單元104,識別所有節(jié)點中的鼠標可操作節(jié)點;第二識別單元106,檢查所述鼠標可操作節(jié)點是否鍵盤可達以及是否鍵盤可操作;以及確定單元108,提取鍵盤不可達的節(jié)點以及鍵盤不可操作的節(jié)點,作為鍵盤不可訪問節(jié)點。一方面,檢查所述鼠標可操作節(jié)點是否鍵盤可達以及是否鍵盤可操作,是指可以對同一節(jié)點同時檢查是否鍵盤可達,以及是否鍵盤可操作。針對鍵盤不可達的節(jié)點, 在輸出結果中將該節(jié)點標記為“鍵盤不可達”,針對鍵盤不可操作的節(jié)點,在輸出結果中將該節(jié)點標記為“鍵盤不可操作”。另一方面,檢查所述鼠標可操作節(jié)點是否鍵盤可達或者是否鍵盤可操作,還可以是指對同一節(jié)點先檢查是否鍵盤可達,或者先檢查是否鍵盤可操作, 然后再檢查是否鍵盤可操作或者是否鍵盤可達。針對鍵盤不可達的節(jié)點,在輸出結果中將該節(jié)點標記為“鍵盤不可達”,針對鍵盤不可操作的節(jié)點,在輸出結果中將該節(jié)點標記為“鍵盤不可操作”。另外,根據(jù)本公開的裝置100還可以包括中央處理單元(CPU) 110,用于執(zhí)行相關的程序,以處理各種數(shù)據(jù)并控制裝置100中的各個單元的操作;只讀存儲器(ROM) 112,用于存儲CPU 110進行各種處理和控制所需的各種程序;隨機存取存儲器(RAM) 114,用于存儲 CPU 110在處理和控制過程中臨時產生的中間數(shù)據(jù);輸入輸出(I/O)單元116,用于與外部設備之間發(fā)送和接收各種命令和數(shù)據(jù)等;以及存儲單元109,用于非易失地存儲各種程序和結果數(shù)據(jù)等。上述獲取單元102、第一識別單元104、第二識別單元106、確定單元108、存儲單元109、CPU 110,ROM 112,RAM 114、1/0單元116等可以通過數(shù)據(jù)和/或命令總線120 來連接,并相互之間傳送信號。上述各個單元不對本公開的范圍構成限制。根據(jù)本公開的一個實施例,也可以通過與上述CPU 110、ROM 112、RAM 114、I/O單元116等相結合的功能軟件來實現(xiàn)上述獲取單元102、第一識別單元104、第二識別單元106以及確定單元108中的任一單元的功能。下面將詳細描述根據(jù)本公開的裝置100中的各個單元的具體操作。獲取單元102獲取網(wǎng)頁的結構樹中的所有節(jié)點。這里,結構樹可以是網(wǎng)頁中的文檔對象模型(DOM-Document Object Model)結構樹,其包括網(wǎng)頁中的各種內容以及內容的名稱、ID、屬性等,并劃分為多個節(jié)點。該DOM結構樹由供應商提供,可以作為HTML編程接口。獲取單元102解析DOM樹,獲取其中的所有節(jié)點,并將所有節(jié)點收集到列表中。這些節(jié)點可以包括鼠標可操作元素,例如文本輸入、按鈕、鏈接等中的任何一個,也可以包括鼠標不可操作元素,例如段落、文本消息、標簽等中的任何一個。第一識別單元104識別結構樹的所有節(jié)點中的鼠標可操作節(jié)點。具體地,第一識別單元104在每個節(jié)點上模擬鼠標事件(將在稍后進行描述),并在對每個節(jié)點模擬鼠標事件時監(jiān)測網(wǎng)頁狀態(tài)是否改變、以及偵聽結果。網(wǎng)頁狀態(tài)的改變包括DOM樹結構改變、發(fā)送請求、或者打開新的瀏覽器窗口等中的任何一個。對于鼠標可操作節(jié)點,必然存在網(wǎng)頁狀態(tài)改變作為鼠標事件的結果。然后,標記該鼠標可操作節(jié)點。也就是說,第一識別單元104對所有節(jié)點中的各個節(jié)點模擬鼠標事件,判斷網(wǎng)頁狀態(tài)是否改變,并將網(wǎng)頁狀態(tài)發(fā)生改變的節(jié)點識別為鼠標可操作節(jié)點。第二識別單元106檢查這些鼠標可操作節(jié)點是否是鍵盤可達的以及是否是鍵盤可操作的。具體地,根據(jù)本公開的一個實施例,針對某個鼠標可操作節(jié)點,第二識別單元106 可以首先檢查該節(jié)點是否是鍵盤可達的。第二識別單元106可以利用目前已知的識別網(wǎng)頁上鍵盤不可達節(jié)點的方法,例如觸發(fā)<tab>鍵或〈上〉、〈下 >、< 左〉、〈右〉移動鍵來獲得光標焦點,并通過光標焦點在鼠標可操作節(jié)點上是否有效來識別鍵盤不可達的節(jié)點;或者通過對各個節(jié)點的屬性進行掃描,例如檢查節(jié)點的“禁用(disable)”屬性、或“tabindex” 屬性等,在鼠標可操作節(jié)點中識別鍵盤不可達節(jié)點。如果識別的結果是該節(jié)點是鍵盤不可達的,則第二識別單元106可以將該節(jié)點標記為“鍵盤不可達”,并輸出被識別為鍵盤不可達的節(jié)點,作為第一結果。被識別為鍵盤不可達的這些節(jié)點是最終的結果集的子集。該子集中的節(jié)點可以被存儲在例如存儲單元109中。第二識別單元106再對該節(jié)點判斷是否是鍵盤可操作的。具體地,第二識別單元 106在該鼠標可操作節(jié)點上模擬鍵盤事件(將在稍后進行描述),并監(jiān)視網(wǎng)頁狀態(tài)的改變。 也就是說,第二識別單元106在鼠標可操作節(jié)點上模擬鍵盤事件,并判斷在鍵盤事件中網(wǎng)頁狀態(tài)是否發(fā)生改變。如果在鍵盤事件中網(wǎng)頁狀態(tài)發(fā)生改變,則第二識別單元106將這種節(jié)點標記為符合節(jié)點(鍵盤可操作節(jié)點)。對于在鍵盤事件中網(wǎng)頁狀態(tài)不發(fā)生改變的節(jié)點, 則將它們標記為“鍵盤不可操作”的節(jié)點。第二識別單元106可以輸出被標記為“鍵盤不可操作”的節(jié)點,作為第二結果。這些節(jié)點也是最終的結果集的子集。該子集中的節(jié)點可以被存儲在存儲單元109中。根據(jù)本公開的另一個實施例,第二識別單元106也可以對某一個節(jié)點先檢查是否是鍵盤可操作的(具體方式如上所述)。當結果為該節(jié)點是鍵盤不可操作時,將該節(jié)點標記為“鍵盤不可操作”,并將該節(jié)點作為結果輸出。然后,再對該節(jié)點進一步檢查是否是鍵盤可達的。當進一步的檢查結果是該節(jié)點是鍵盤不可達時,將該節(jié)點標記為“鍵盤不可達”,并作為結果輸出。對于同一節(jié)點的檢查,包括關于是否鍵盤可達以及是否鍵盤可操作兩者。如前所述,也可以對同一節(jié)點同時檢查是否鍵盤可達以及是否鍵盤可操作。在這種情況下,當該節(jié)點的檢查結果既是鍵盤不可達,又是鍵盤不可操作時,可以將該節(jié)點標記為“鍵盤不可達”和“鍵盤不可操作”,并將具有該兩個標記的該節(jié)點作為結果來輸出。或者, 其中僅有一個結果為否定,即該結果是鍵盤不可達,或者是鍵盤不可操作,則可以將該節(jié)點標記為“鍵盤不可達”或者“鍵盤不可操作”,并作為結果輸出。通過上述處理所獲得的結果,即帶有“鍵盤不可達”和/或“鍵盤不可操作”標記的節(jié)點,可以被生成為節(jié)點列表或者其它形式,存儲在存儲單元109中。存儲在存儲單元109 中的這些節(jié)點,可以根據(jù)需要,通過I/O單元116等輸出到外部設備,例如是顯示設備、打印設備、或者揚聲器等設備,來向用戶通知該結果。通過上述處理所獲得的帶有“鍵盤不可達” 和/或“鍵盤不可操作”標記的節(jié)點也可以不存儲在存儲單元109中,而直接通過I/O單元 116等輸出到例如顯示設備、打印設備、或者揚聲器等設備的外部設備,來向用戶通知該結^ ο對于鼠標事件和鍵盤事件的模擬,是指在DOM結構樹的框架下,通過編程的方法構造出每個節(jié)點的鼠標事件和/或鍵盤事件,例如某個節(jié)點的onKeyPress,onMouseMove, onDoubleClick等事件,然后在DOM結構樹的節(jié)點上分發(fā)(dispatch)、以及觸發(fā)這個事件。 如果該節(jié)點是鼠標可操作或者鍵盤可操作的,則響應于該事件的觸發(fā),相應的網(wǎng)頁狀態(tài)會發(fā)生改變,如上所述。由此,可以通過監(jiān)視網(wǎng)頁狀態(tài)是否發(fā)生改變來識別DOM樹的節(jié)點是否是鼠標可操作或者鍵盤可操作。用于模擬鼠標點擊一個節(jié)點對象的Javascript的一個具體代碼例子如下所示
function simulateClick(var node){var evt = document. createEvent(" MouseEvents");evt. initMouseEvent (" click" , true, true, window,0,0,0,0,0, false, false, false, false,0, null);node. dispatchEvent (evt);}確定單元108提取作為第一結果輸出的鍵盤不可達的節(jié)點以及作為第二結果輸出的在鍵盤事件中網(wǎng)頁狀態(tài)不發(fā)生改變的節(jié)點(鍵盤不可操作的節(jié)點),并將這兩個結果集組合在一起,作為鍵盤不可訪問節(jié)點的識別結果的最終的結果集。
7
圖2是示出根據(jù)本公開的第二實施例的識別網(wǎng)頁上鍵盤不可訪問節(jié)點的方法的流程圖。如圖2所示,根據(jù)本公開的用于識別網(wǎng)頁上鍵盤不可訪問節(jié)點的方法包括如下步驟。在步驟S201,獲取網(wǎng)頁的結構樹中的所有節(jié)點。在步驟S202,識別所有節(jié)點中的鼠標可操作節(jié)點。在步驟S203,檢查所述鼠標可操作節(jié)點是否是鍵盤可達的以及是否鍵盤可操作。在步驟S204,提取鍵盤不可達的節(jié)點以及鍵盤不可操作的節(jié)點,作為所述鍵盤不可訪問節(jié)點。上述步驟S201可以通過圖1中的獲取單元102來實現(xiàn),步驟S202可以通過圖1 中的第一識別單元104來實現(xiàn),步驟S203可以通過圖1中的第二識別單元106來實現(xiàn),以及步驟S204可以通過圖1中的確定單元108來實現(xiàn)。圖3是示出圖2中的子步驟S202的方法的進一步的流程圖。如圖3所示,識別所有節(jié)點中的鼠標可操作節(jié)點的步驟S202還包括以下步驟。在步驟S301,對所有節(jié)點中的各個節(jié)點模擬鼠標事件。在步驟S302,判斷網(wǎng)頁狀態(tài)是否改變。 當步驟S302中的判斷結果為肯定的“是”時,進行到步驟S303。在步驟S303,將所述網(wǎng)頁狀態(tài)發(fā)生改變的節(jié)點識別為鼠標可操作節(jié)點。當步驟S302中的判斷結果為否定的“否”時,返回到步驟S301,繼續(xù)對下一個節(jié)點進行鼠標事件的模擬,直到對所有節(jié)點的識別結束為止。上述步驟S301、S302以及S303可以通過圖1中的第一識別單元104來實現(xiàn)。圖4是示出圖2中的子步驟S203的方法的進一步的流程圖。如圖4所示,對所述鼠標可操作節(jié)點模擬鍵盤事件的步驟還包括以下步驟。在步驟S401,對鼠標可操作節(jié)點模擬鍵盤事件。在步驟S402,判斷在鍵盤事件中網(wǎng)頁狀態(tài)是否發(fā)生改變。當步驟S402中的判斷結果為肯定的“是”時,進行到步驟S403,否則,進行到步驟S404。在步驟S403,將所述節(jié)點標記為鍵盤可操作節(jié)點。在步驟S404,將網(wǎng)頁狀態(tài)不發(fā)生改變的節(jié)點標記為鍵盤不可操作的節(jié)點。上述步驟S401、S402、S403以及S404可以通過圖1中的第二識別單元106來實現(xiàn)。在本公開的上述方法中,網(wǎng)頁狀態(tài)的改變包括結構樹改變、發(fā)送請求、打開新的瀏覽器窗口中的任何一個。在本公開的上述方法中,節(jié)點包括文本輸入、按鈕、鏈接、段落、文本消息、標記中的任何一個,并且所述鼠標可操作節(jié)點包括文本輸入、按鈕、鏈接中的任何一個。由于本公開的節(jié)點是通過分析DOM樹而獲得的節(jié)點,所以鍵盤不可訪問節(jié)點的輸出列表中包括諸如節(jié)點類型、名稱、id、屬性等節(jié)點信息,這對于開發(fā)者在源碼中定位元素并修復它們非常有用。另外,根據(jù)本公開的裝置和方法覆蓋了所有鼠標可操作的元素,其不僅包括標準 HTML鼠標可操作元素,還包括靜態(tài)附有鼠標事件的、未被已有的信息無障礙分析工具支持的其它HTML元素。本公開的實施例可以通過硬件、軟件、固件或它們之間結合的方式來實現(xiàn),其實現(xiàn)方式不對本公開的范圍構成限制。例如,本公開可以通過在通用計算機系統(tǒng)中執(zhí)行根據(jù)本公開的軟件程序來完成。本公開的實施例可以通過網(wǎng)頁瀏覽器的插件,例如FireFox擴展或IE插件等來實現(xiàn),從而使分析和操縱網(wǎng)頁的DOM樹大大簡易化。本公開的上述實施例僅為示例性描述,它們的具體結構和操作不對本公開的范圍構成限制,本領域的技術人員可以將上述各個實施例中的不同部分和操作進行組合,產生新的實施方式,同樣符合本公開的構思。本公開的實施例中的各個功能元件(單元)相互之間的連接關系不對本公開的范圍構成限制,其中的一個或多個功能元件或者單元可以包括或連接于其它任意的功能元件或者單元。雖然上面已經結合附圖示出并描述了本公開的一些實施例,但是本領域的技術人員應當理解,在不偏離本公開的原則和精神的情況下,可以對這些實施例進行變化和修改, 但它們仍然落在本公開的權利要求及其等價物的范圍之內。
權利要求
1.一種用于識別網(wǎng)頁上鍵盤不可訪問節(jié)點的方法,包括 獲取網(wǎng)頁的結構樹中的所有節(jié)點;識別所有節(jié)點中的鼠標可操作節(jié)點;檢查所述鼠標可操作節(jié)點是否鍵盤可達以及是否鍵盤可操作;提取鍵盤不可達的節(jié)點以及鍵盤不可操作的節(jié)點,作為所述鍵盤不可訪問節(jié)點。
2.根據(jù)權利要求1所述的方法,其中識別所有節(jié)點中的鼠標可操作節(jié)點的步驟還包括對所有節(jié)點中的各個節(jié)點模擬鼠標事件; 判斷網(wǎng)頁狀態(tài)是否改變;和將網(wǎng)頁狀態(tài)發(fā)生改變的節(jié)點識別為鼠標可操作節(jié)點。
3.根據(jù)權利要求1所述的方法,其中檢查鼠標可操作節(jié)點是否鍵盤可操作的步驟還包括對所述鼠標可操作節(jié)點模擬鍵盤事件;判斷網(wǎng)頁狀態(tài)是否發(fā)生改變;以及將網(wǎng)頁狀態(tài)不發(fā)生改變的節(jié)點識別為鍵盤不可操作節(jié)點。
4.根據(jù)權利要求1所述的方法,還包括將鍵盤不可達的節(jié)點標記為“鍵盤不可達”,將鍵盤不可操作的節(jié)點標記為“鍵盤不可操作”。
5.根據(jù)權利要求2或3所述的方法,其中所述網(wǎng)頁狀態(tài)的改變包括結構樹改變、發(fā)送請求、打開新的瀏覽器窗口中的任何一個。
6.根據(jù)權利要求1所述的方法,其中檢查所述鼠標可操作節(jié)點是否鍵盤可達以及是否鍵盤可操作的步驟包括先檢查是否鍵盤可達或者先檢查是否鍵盤可操作。
7.根據(jù)權利要求1所述的方法,其中所述節(jié)點包括文本輸入、按鈕、鏈接、段落、文本消息、標記中的任何一個,并且所述鼠標可操作節(jié)點包括文本輸入、按鈕、鏈接中的任何一個。
8.一種用于識別網(wǎng)頁上鍵盤不可訪問節(jié)點的裝置,包括 獲取單元,獲取網(wǎng)頁的結構樹中的所有節(jié)點;第一識別單元,識別所有節(jié)點中的鼠標可操作節(jié)點;第二識別單元,檢查所述鼠標可操作節(jié)點是否鍵盤可達以及是否鍵盤可操作;以及確定單元,提取鍵盤不可達的節(jié)點以及鍵盤不可操作的節(jié)點,作為所述鍵盤不可訪問節(jié)點。
9.根據(jù)權利要求8所述的裝置,其中所述第一識別單元對所有節(jié)點中的各個節(jié)點模擬鼠標事件,并將在鼠標事件中網(wǎng)頁狀態(tài)發(fā)生改變的節(jié)點識別為鼠標可操作節(jié)點。
10.根據(jù)權利要求8所述的裝置,其中所述第二識別單元對所述鼠標可操作節(jié)點模擬鍵盤事件,并將在鍵盤事件中網(wǎng)頁狀態(tài)不發(fā)生改變的節(jié)點識別為鍵盤不可操作的節(jié)點。
11.根據(jù)權利要求8所述的裝置,其中所述第二識別單元將鍵盤不可達的節(jié)點標記為 “鍵盤不可達”,將鍵盤不可操作的節(jié)點標記為“鍵盤不可操作”。
12.根據(jù)權利要求9或11述的裝置,其中所述網(wǎng)頁狀態(tài)的改變包括結構樹改變、發(fā)送請求、打開新的瀏覽器窗口中的任何一個。
13.根據(jù)權利要求8所述的裝置,其中所述第二識別單元先檢查是否鍵盤可達或者先檢查是否鍵盤可操作。
14.根據(jù)權利要求8所述的裝置,其中所述節(jié)點包括文本輸入、按鈕、鏈接、段落、文本消息、標記中的任何一個,并且所述鼠標可操作節(jié)點包括文本輸入、按鈕、鏈接中的任何一個。
全文摘要
本公開提供了一種用于識別網(wǎng)頁上鍵盤不可訪問節(jié)點的方法和裝置。該方法包括步驟獲取網(wǎng)頁的結構樹中的所有節(jié)點;識別所有節(jié)點中的鼠標可操作節(jié)點;檢查所述鼠標可操作節(jié)點是否鍵盤可達以及是否鍵盤可操作;提取鍵盤不可達的節(jié)點以及鍵盤不可操作的節(jié)點,作為所述鍵盤不可訪問節(jié)點。通過本公開的方法和裝置,可以更精確地確定網(wǎng)頁上的鍵盤不可達以及鍵盤不可操作的元素,從而提高網(wǎng)頁設計的效率與精度。
文檔編號G06F17/30GK102479212SQ20101056547
公開日2012年5月30日 申請日期2010年11月30日 優(yōu)先權日2010年11月30日
發(fā)明者劉洋, 羅凌, 胡捷 申請人:國際商業(yè)機器公司