|
11 | 11 | <h1>Azure Database Selector</h1> |
12 | 12 | </header> |
13 | 13 | <main> |
14 | | - <form id="advisor-form"> |
| 14 | + <form id="advisor-form" aria-labelledby="form-title"> |
| 15 | + <h2 id="form-title">Select Your Database Preferences</h2> |
15 | 16 | <label for="data-volume">Data Volume:</label> |
16 | | - <select id="data-volume" name="data-volume" required title="Select the expected size of your data."> |
| 17 | + <select id="data-volume" name="data-volume" required title="Select the expected size of your data." aria-describedby="data-volume-desc"> |
17 | 18 | <option value="<10GB">Less than 10GB</option> |
18 | 19 | <option value="10GB-1TB">10GB to 1TB</option> |
19 | 20 | <option value=">1TB">More than 1TB</option> |
20 | 21 | </select> |
| 22 | + <span id="data-volume-desc">Choose the size of your data storage needs. For example, less than 10GB is suitable for small applications like blogs, while more than 1TB is ideal for enterprise systems.</span> |
21 | 23 |
|
22 | 24 | <label for="data-type">Data Type:</label> |
23 | | - <select id="data-type" name="data-type" required title="Choose the type of data you will store."> |
| 25 | + <select id="data-type" name="data-type" required title="Choose the type of data you will store." aria-describedby="data-type-desc"> |
24 | 26 | <option value="structured">Structured (e.g., tables)</option> |
25 | 27 | <option value="semi-structured">Semi-structured (e.g., JSON, XML)</option> |
26 | 28 | <option value="unstructured">Unstructured (e.g., images, videos)</option> |
27 | 29 | </select> |
| 30 | + <span id="data-type-desc">Select the format of the data you will be storing. For instance, structured data is used for relational databases, while unstructured data is common for media files.</span> |
28 | 31 |
|
29 | 32 | <label for="latency">Latency Requirements:</label> |
30 | | - <select id="latency" name="latency" required title="Select the maximum acceptable delay for database operations."> |
| 33 | + <select id="latency" name="latency" required title="Select the maximum acceptable delay for database operations." aria-describedby="latency-desc"> |
31 | 34 | <option value="<10ms">Less than 10ms</option> |
32 | 35 | <option value="10-100ms">10ms to 100ms</option> |
33 | 36 | <option value=">100ms">More than 100ms</option> |
34 | 37 | </select> |
| 38 | + <span id="latency-desc">Indicate how quickly you need the database to respond. For example, less than 10ms is critical for real-time applications like gaming.</span> |
35 | 39 |
|
36 | 40 | <label for="scalability">Scalability Needs:</label> |
37 | | - <select id="scalability" name="scalability" required title="Choose whether the database needs to scale globally or locally."> |
| 41 | + <select id="scalability" name="scalability" required title="Choose whether the database needs to scale globally or locally." aria-describedby="scalability-desc"> |
38 | 42 | <option value="global">Global</option> |
39 | 43 | <option value="local">Local</option> |
40 | 44 | </select> |
| 45 | + <span id="scalability-desc">Specify if the database should support global or local scaling. For instance, global scaling is essential for multinational companies.</span> |
41 | 46 |
|
42 | 47 | <label for="consistency">Consistency Model:</label> |
43 | | - <select id="consistency" name="consistency" required title="Select the consistency model for your database."> |
| 48 | + <select id="consistency" name="consistency" required title="Select the consistency model for your database." aria-describedby="consistency-desc"> |
44 | 49 | <option value="strong">Strong</option> |
45 | 50 | <option value="eventual">Eventual</option> |
46 | 51 | </select> |
| 52 | + <span id="consistency-desc">Choose the consistency model that fits your application's needs. Strong consistency ensures immediate updates, while eventual consistency is suitable for distributed systems.</span> |
47 | 53 |
|
48 | 54 | <label for="integration-needs">Integration Needs:</label> |
49 | | - <select id="integration-needs" name="integration-needs" title="Specify if the database needs to integrate with other Azure services."> |
| 55 | + <select id="integration-needs" name="integration-needs" title="Specify if the database needs to integrate with other Azure services." aria-describedby="integration-needs-desc"> |
50 | 56 | <option value="yes">Yes</option> |
51 | 57 | <option value="no">No</option> |
52 | 58 | </select> |
| 59 | + <span id="integration-needs-desc">Indicate if you require integration with other services. For example, integration is necessary for analytics pipelines.</span> |
53 | 60 |
|
54 | 61 | <label for="security">Security Requirements:</label> |
55 | | - <select id="security" name="security" title="Select the security features required for your database."> |
| 62 | + <select id="security" name="security" title="Select the security features required for your database." aria-describedby="security-desc"> |
56 | 63 | <option value="encryption">Encryption</option> |
57 | 64 | <option value="rbac">Role-based Access Control</option> |
58 | 65 | <option value="compliance">Compliance</option> |
59 | 66 | </select> |
| 67 | + <span id="security-desc">Select the security measures that are necessary for your data. Encryption is ideal for sensitive data, while compliance is crucial for regulated industries.</span> |
60 | 68 |
|
61 | 69 | <label for="budget">Budget:</label> |
62 | | - <select id="budget" name="budget" required title="Choose your monthly budget for database services."> |
| 70 | + <select id="budget" name="budget" required title="Choose your monthly budget for database services." aria-describedby="budget-desc"> |
63 | 71 | <option value="<100 USD">Less than 100 USD</option> |
64 | 72 | <option value="100-500 USD">100 to 500 USD</option> |
65 | 73 | <option value=">500 USD">More than 500 USD</option> |
66 | 74 | </select> |
| 75 | + <span id="budget-desc">Specify your budget range for database solutions. For example, less than 100 USD is suitable for startups, while more than 500 USD is common for large enterprises.</span> |
67 | 76 |
|
68 | 77 | <label for="use-case">Use Case:</label> |
69 | | - <select id="use-case" name="use-case" required title="Select the primary use case for your database."> |
| 78 | + <select id="use-case" name="use-case" required title="Select the primary use case for your database." aria-describedby="use-case-desc"> |
70 | 79 | <option value="OLTP">Transactional Processing (OLTP)</option> |
71 | 80 | <option value="OLAP">Analytical Processing (OLAP)</option> |
72 | 81 | <option value="AI/ML">AI/ML Workloads</option> |
73 | 82 | </select> |
| 83 | + <span id="use-case-desc">Choose the main purpose of the database you are selecting. For instance, OLTP is used for transactional systems, while OLAP is for analytics.</span> |
74 | 84 |
|
75 | 85 | <label for="backup-recovery">Backup and Disaster Recovery:</label> |
76 | | - <select id="backup-recovery" name="backup-recovery" title="Specify if automated backups and disaster recovery are required."> |
| 86 | + <select id="backup-recovery" name="backup-recovery" title="Specify if automated backups and disaster recovery are required." aria-describedby="backup-recovery-desc"> |
77 | 87 | <option value="yes">Yes</option> |
78 | 88 | <option value="no">No</option> |
79 | 89 | </select> |
| 90 | + <span id="backup-recovery-desc">Indicate if you need automated backup and recovery options. For example, disaster recovery is essential for mission-critical systems.</span> |
80 | 91 |
|
81 | 92 | <label for="query-complexity">Query Complexity:</label> |
82 | | - <select id="query-complexity" name="query-complexity" title="Select the expected complexity of database queries."> |
| 93 | + <select id="query-complexity" name="query-complexity" title="Select the expected complexity of database queries." aria-describedby="query-complexity-desc"> |
83 | 94 | <option value="simple">Simple (e.g., basic CRUD operations)</option> |
84 | 95 | <option value="moderate">Moderate (e.g., joins, aggregations)</option> |
85 | 96 | <option value="complex">Complex (e.g., advanced analytics, AI/ML queries)</option> |
86 | 97 | </select> |
| 98 | + <span id="query-complexity-desc">Select the complexity level of the queries you will perform. For instance, simple queries are used for CRUD operations, while complex queries are needed for AI/ML workloads.</span> |
87 | 99 |
|
88 | 100 | <label for="data-retention">Data Retention Policy:</label> |
89 | | - <select id="data-retention" name="data-retention" title="Choose the expected retention period for your data."> |
| 101 | + <select id="data-retention" name="data-retention" title="Choose the expected retention period for your data." aria-describedby="data-retention-desc"> |
90 | 102 | <option value="short-term">Short-term (e.g., days or weeks)</option> |
91 | 103 | <option value="medium-term">Medium-term (e.g., months)</option> |
92 | 104 | <option value="long-term">Long-term (e.g., years)</option> |
93 | 105 | </select> |
| 106 | + <span id="data-retention-desc">Specify how long you need to retain your data. For example, short-term retention is suitable for temporary logs, while long-term retention is needed for compliance data.</span> |
94 | 107 |
|
95 | 108 | <button type="submit">Get Recommendation</button> |
96 | 109 | </form> |
|
0 commit comments